永发信息网

c# winform程序,如何把读取出来的xml标签转换为excel?

答案:3  悬赏:20  手机版
解决时间 2021-02-20 21:24
引用excel组件后怎么把读取出来的数据输出成excel呢?xlm里有这些样式,所以得读取xml:
最佳答案
方法一:
读取出数据后,以普通TXT文件,或者是HTML表格格式输出至TXT文档后,重新命名为.xls格式
如果以纯文本格式写入的话,数据与数据之间要用制表符隔开。
优点速度快,格式控制简单,缺点,非标准EXCEL格式,可以用EXCEL打开,但是后续编辑可能出现问题 方法二:
在Winfrom程序运行的本地电脑打开EXCEL程序进行写入后关闭。
缺点,机器上要装Office 2003及以上版本,并且要在WINFORM中引用DLL组件,在机器上打开EXCEL写入会牺牲一定系统性能,需要看数据量和导出量。
优点,获得的EXCEL表格为标准文件,格式正常,后续编辑等不会出现问题。

参考代码:

机器要安装 2003或以上版本EXCEL。
引用Excel2003版DLL
Using Excel;
Excel.Application myexcel = new Excel.Application();//创建EXCEL APPLICATION对象
//读打开模板文件及工作表1
Excel.Workbook myworkbook = myexcel.Workbooks.Add(System.Windows.Forms.Application.StartupPath + @"\模板文件.xls");
Excel.Worksheet mySheet = (Excel.Worksheet)myworkbook.ActiveSheet;
myexcel.Visible = false;//设置打开的EXCEL程序是否可见
//设置指定区域格式 ,不是索引,不从零开始
Excel.Range myrange = myexcel.get_Range(myexcel.Cells[1, 1], myexcel.Cells[arraycount + 5, 19]);
myrange.NumberFormatLocal = "@";//文本格式
// 将数组元素写入EXCEL
for (int i = 0; i < arraycount; i++)
{
for (int i2 = 0; i2 < lieshu; i2++)
{
myexcel.Cells[i + 2, i2+1] = array[i][i2]; //myexcel.cells[ , ]内不是索引,指示具体单元格,从1开始
}
}
//另存到生成文件夹,蓝色为指定包含路径的文件名,filename 为文件名变量,如“123.xls”
myworkbook.SaveAs(System.Windows.Forms.Application.StartupPath + @"\生成文件\" + filename, Excel.XlFileFormat.xlWorkbookNormal, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
//关闭EXCEL程序
myworkbook.Close(null, null, null);
myexcel.Workbooks.Close();
myexcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(myexcel);
System.Runtime.InteropServices.Marshal.ReleaseComObject(myworkbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(mySheet);
mySheet = null;
myworkbook = null;
myexcel = null;
GC.Collect();
GC.Collect();//2次回收,否则进程EXCEL无法关闭
方法三:
网上的一些人提供的以EXCEL格式写出文件的方法。不过有点复杂,可以网上搜索下。一般都是WEB程序用的比较多,我没有研究过。要是要求比较高的话可以自己搜索下。

综合来说,如果只是数据写出来给人看看的,可以使用方法一就行了
如果需要给别人进行后续编辑使用的,最好使用方法二。
追求完美的话,只能网上查找方法三。
虽然方法一导出的数据也可以复制粘贴到正常EXCEL中编辑,不过相对来说是麻烦了点,你自己权衡下吧。
全部回答
引用excel组件后怎么把读取出来的数据输出成excel呢?xlm里有这些样式,所以得读取xml:
用PageOffice吧,很简单就可以实现的。 再看看别人怎么说的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
浙江新安国际医院-眼科在哪里啊,我有事要去
每天至少得洗两次头发,这样好吗?
请问,有谁能告诉我在电脑里怎样能将一张图片
听说网上有鬼魂出没,有的人打字打到一半就
红米下载的视频用蓝牙怎么传给别的1手机
祖荣购物批发超市在哪里啊,我有事要去这个地
中国联通鼓楼营业厅我想知道这个在什么地方
G4560能玩这游戏吗
陇伢在什么地方啊,我要过去处理事情
有没有只要插上电源就可以随时随地上网的随身
3d杀跨,杀合是什么意思
十一北京地铁2号线4号线9号线首班时间几点?
得意楼装璜店这个地址在什么地方,我要处理点
currency depreciation/appreciation /是什么
根据《城乡规划法》规定,建设单位应当向城乡
推荐资讯
宫颈癌的人可以吃人参吗
奶油打的过硬怎么办
驻马店市炎黄文化研究会我想知道这个在什么地
Teacher Wanted!写一篇最少8句的英语作文
有谁知道在南京新街口或是鼓楼附近有哪种咖啡
镇江新区建设工程质量安全监督站地址在什么地
36分成9份,每份都是单数,怎么分?
流通运行的各种要素的比例关系和经济联系是流
BB霜什么时候用的,有什么功效
祖云尼柏在什么地方啊,我要过去处理事情
求克鲁泽名言日语原句,以下
【自己焊的楼梯图片大全】电焊制作普通楼梯扶
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?