首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>NET专区>C#语言>C#语言实现从XML文件导出数据到WPS表格或者Excel2003
C#语言实现从XML文件导出数据到WPS表格或者Excel2003
来源: 发布时间:2008-07-04 发布人: 浏览: 人次   字体: [ ]  

using System;    
using System.Collections.Generic;    
using System.ComponentModel;    
using System.Data;    
using System.Drawing;    
using System.Text;    
using System.Windows.Forms;    
using System.Xml;    
 
namespace ExportWPS    
{    
    public partial class Form1 : Form    
    {    
        ET.Application objApp = null;    
        ET._Workbook objWorkBook = null;    
        ET.Worksheet objWorkSheet = null;    
        public Form1()  
        {    
            InitializeComponent();    
        }    
 
        private void button1_Click(object sender, EventArgs e)  
 
        {    
            DateTime dt = DateTime.Now;    
            try    
            {    
                objApp = new ET.Application();    
                XmlDocument doc = new XmlDocument();    
                doc.Load(@"c:\members.xml");    
                XmlElement root = doc.DocumentElement;    
                XmlNodeList nodes = root.SelectNodes("member");    
 
                foreach (XmlElement memberElement in nodes)    
                {    
                    ExportMember(memberElement);    
                }    
            }    
            finally    
            {    
                ReleaseComObject(objApp);    
            }  
   
            TimeSpan ts = DateTime.Now - dt;    
            MessageBox.Show(ts.ToString());    
        }    
 
        private void ExportMember(XmlElement memberElement)    
        {    
            object missing = Type.Missing;    
            ET.Range objRange = null;    
            try    
            { 
                objWorkBook = objApp.Workbooks.Add(Type.Missing);   
                objWorkSheet = objWorkBook.ActiveSheet;                     
 
                //设置标题  
 
                objWorkSheet.get_Range("A1", "G1").Merge(true);     //先进行单元合并    
                objRange = objWorkSheet.get_Range("A1", "A1");    
                objRange.Value2 = "表 格 示 例";    //设置合并后的单元格的文本    
                objRange.RowHeight = 40;        //设置行高    
                //设置字体    
                objRange.Font.Name = "宋体";    
                objRange.Font.Size = 20;    
                objRange.Font.Bold = true;    
                objRange.HorizontalAlignment = ET.ETHAlign.etHAlignCenter;  //设置字体对其方向
                objRange = objWorkSheet.get_Range("A2", "G7");    
                objRange.Borders.LineStyle = ET.ETLineStyle.etContinuous;    
                objRange.Borders.Weight = ET.ETBorderWeight.etThin;    
                objRange.RowHeight = 17;    
                objRange.Borders.Color = 0;     //设置边框的颜色,颜色的值可以按照B,G,R的方式合成    
                //设置表格的外边框,加粗    
                objRange.Borders[ET.ETBorderIndex.etEdgeBottom].Weight = ET.ETBorderWeight.etMedium;    
                objRange.Borders[ET.ETBorderIndex.etEdgeLeft].Weight = ET.ETBorderWeight.etMedium;    
                objRange.Borders[ET.ETBorderIndex.etEdgeRight].Weight = ET.ETBorderWeight.etMedium;    
                objRange.Borders[ET.ETBorderIndex.etEdgeTop].Weight = ET.ETBorderWeight.etMedium;    
                objRange.HorizontalAlignment = ET.ETHAlign.etHAlignCenter;    
                objRange.Font.Name = "宋体";    
                objRange.Font.Size = 10;    
 
                string name = memberElement.SelectSingleNode("name").ChildNodes[0].Value;    
                objWorkSheet.get_Range("A2", "A2").Value2 = "姓    名";    
                objWorkSheet.get_Range("A2", "A2").ColumnWidth = 60;  
                objWorkSheet.get_Range("B2", "B2").ColumnWidth = 75;  
                objWorkSheet.get_Range("B2", "B2").Value2 = name;    
                objWorkSheet.get_Range("C2", "C2").Value2 = "性    别";    
                objWorkSheet.get_Range("C2", "C2").ColumnWidth = 60;    
                objWorkSheet.get_Range("D2", "D2").ColumnWidth = 75;    
                objWorkSheet.get_Range("D2", "D2").Value2 = memberElement.SelectSingleNode("sex").ChildNodes[0].Value; 
                objWorkSheet.get_Range("E2", "E2").Value2 = "出生年月";    
                objWorkSheet.get_Range("E2", "E2").ColumnWidth = 60;  
                objWorkSheet.get_Range("F2", "F2").ColumnWidth = 75;    
                objWorkSheet.get_Range("F2", "F2").Value2 = memberElement.SelectSingleNode("birthday").ChildNodes[0].Value; 
                objWorkSheet.get_Range("G2", "G7").Merge(false);    
                objWorkSheet.get_Range("G2", "G2").ColumnWidth = 80;    
                objWorkSheet.get_Range("G2", "G2").Value2 = "照片";  
                objWorkSheet.get_Range("A3", "A3").Value2 = "民    族";    
                objWorkSheet.get_Range("B3", "B3").Value2 = memberElement.SelectSingleNode("nationality").ChildNodes[0].Value;    
                objWorkSheet.get_Range("C3", "C3").Value2 = "政治面貌";    
                objWorkSheet.get_Range("D3", "D3").Value2 = memberElement.SelectSingleNode("political_status").ChildNodes[0].Value; 
                objWorkSheet.get_Range("E3", "E3").Value2 = "籍    贯";    
                objWorkSheet.get_Range("F3", "F3").Value2 = memberElement.SelectSingleNode("native_place").ChildNodes[0].Value;  
                objWorkSheet.get_Range("A4", "A4").Value2 = "学    历";    
                objWorkSheet.get_Range("B4", "B4").Value2 = memberElement.SelectSingleNode("qualification").ChildNodes[0].Value; 
                objWorkSheet.get_Range("C4", "C4").Value2 = "固定电话";    
                objWorkSheet.get_Range("D4", "D4").Value2 = memberElement.SelectSingleNode("telephone").ChildNodes[0].Value;
                objWorkSheet.get_Range("E4", "E4").Value2 = "移动电话";    
                objWorkSheet.get_Range("F4", "F4").Value2 = memberElement.SelectSingleNode("mobile").ChildNodes[0].Value; 
                objWorkSheet.get_Range("A5", "A5").Value2 = "毕业院校";    
                objWorkSheet.get_Range("B5", "F5").Merge(false);    
                objWorkSheet.get_Range("B5", "B5").Value2 = memberElement.SelectSingleNode("graduating_school").ChildNodes[0].Value; 
                objWorkSheet.get_Range("A6", "A6").Value2 = "家庭住址";    
                objWorkSheet.get_Range("B6", "F6").Merge(false);    
                objWorkSheet.get_Range("B6", "B6").Value2 = memberElement.SelectSingleNode("address").ChildNodes[0].Value;  
                objWorkSheet.get_Range("A7", "A7").Value2 = "Email";    
                objWorkSheet.get_Range("B7", "F7").Merge(false);    
                objWorkSheet.get_Range("B7", "B7").Value2 = memberElement.SelectSingleNode("email").ChildNodes[0].Value;  
                objWorkBook.SaveAs(string.Format("c:\\{0}.xls", name), missing, missing, missing, missing, missing, ET.ETSaveAsAccessMode.etExclusive, missing, missing, missing, missing);    
                objWorkBook.Close(missing, missing, missing);    
            }  
 
            finally    
            {  
 
                ReleaseComObject(objRange);    
                ReleaseComObject(objWorkSheet);    
                ReleaseComObject(objWorkBook);    
            }  
 
        }  
        private void ReleaseComObject(object obj)    
        {     
            if (obj != null)    
            {     
                System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);    
                obj = null;     
            }    
        }     
    }    
}

共4页: 上一页 [1] [2] 3 [4] 下一页
相 关 文 章   发布商链接
·C#实现从xml字符串返回一个数据集方...
·C#取小数点后几位数的示例及其注意问...
·C#语言绘制实时曲线图代码实例
·C#语言通过调用API实现动态分配IP和...
·举例讲解C#语言中默认构造函数的作用
·c#获取客户端网卡硬件地址唯一标识的...
·用excel的QueryTable进行批量数据的...
·DateTime.ToString方法用法详解
·如何使用C#制作公司的公章的实例代码
·NET编程实现在局域网之间互传文件的...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·最为经典的C#操作文件的方法...
·有助快速理解C#委托和事件之...
·C#泛型学习笔记总结
·c#语言从dbf数据库提取数据并
·C#编写控制线程的运行和线程...
·怎样在C#中删除只读文件及其...
·C#函数中返回多个值的两种方...
·如何在C#中插入照片到Excel文
·如何在c#中获取事件注册的方...
·C#对timer类的使用操作代码
·什么是泛型?泛型的一些概述
·C#如何从文本文件读取信息并...
·如何在c#中去掉字符串中的回...
·如何使用C#获取IIS服务器版本...
·什么是泛型编程思想?及其简...
热 门 文 章
·C#如何获取文件路径中的文件...
·c#中收发邮件处理代码(POP3,...
·浅谈接口和抽象类的区别,加...
·什么是c#深拷贝与浅拷贝及其...
·C#语言实现创建、删除和移动...
·C#中关于四舍五入函数的讨论...
·c#中的ArrayList属性祥解及其...
·快速进行List排序的通用方法...
·C#对timer类的使用操作代码
·C#如何从文本文件读取信息并...
·用C#编写ActiveX控件代码实例
·如何在c#中去掉字符串中的回...
·String.Split 方法使用及其代...
·C#语言绘制实时曲线图代码实...
·c#子线程控制进度条的一个简...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .