问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-24 21:35

我来回答

3个回答

热心网友 时间:2022-04-27 11:49

方法一:
读取出数据后,以普通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中编辑,不过相对来说是麻烦了点,你自己权衡下吧。

热心网友 时间:2022-04-27 13:07

用PageOffice吧,很简单就可以实现的。

热心网友 时间:2022-04-27 14:42

引用excel组件后怎么把读取出来的数据输出成excel呢?xlm里有这些样式,所以得读取xml:
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? C# excel另存为xml??急急急!!有分!!加分!! excel中的“工作簿(扩展名xls)”和“表格(扩展名xml)”有什么区别?_百 ... 怎么炸鱼才不粘锅? 怎么把EXCEL的xml格式批量转换成XLS的格式工具? 如何为Excel的XML文档插入图片 鱼块怎么炸不粘锅不烂 &lt;removedRecord&gt;已删除的记录: &#47;xl&#47;worksheets&#47;sheet1.xml 部分的 单元格信息&lt;&#47;re as3读取xml的问题,excel生成的xml java 怎样解析 excel生成的xml文件 Excel表格打开发现不可读内容,修复后,所有外链数据全都变为了数值。请问如何还原? Excel 请教:如何破解工作簿 测电笔测火线和零线都亮的原因 用试电笔接触零线也发光,则电路故障是什么? 求助,龙渊泽不中黑煞烈阳刀的成就怎么做 为什么用测电笔分别测火线和零线,氖管都发光 潘粤明的演技大家觉得怎么样? 试电笔无论接触的是红线还是零线,都发红光 测电笔测零线为什么不会发光 还有如果测电笔测一根导线为什么一定发光?? 历届奥运建筑中的高科技 火线零线用电笔测都发光吗? 炸鱼怎么不粘锅不掉皮视频 python读取xml问题 无法保存或导出XML数据,此工作表中的XML映射不可导出,怎么解决? 怎么从工作簿中删除 XML 映射的数据源定义? java利用poi读大数据量xlsx除了用xml方式读取外,还有其他方法吗 师恩难忘手抄报里面可以写什么字? 关于师恩难忘的手抄报 感恩老师的手抄报? 为什么朋友圈显示非对方好友只可看10条? 师恩难忘手抄报的内容 急用啊 靠谱点 跪求感念师恩手抄报内容 快快!!!急!!! 手抄报感谢师恩 师恩难忘的手抄报的诗歌 11岁男孩最近头皮屑特别多怎么办 八岁的男孩头皮屑多,是怎么回事? 猴票邮票值多少钱? 钓鱼竿 铡刀 铁楸 哪个是省力杠杆 92年出版的邮票,四方联猴票现在能值多少钱? 谁能告诉我,90年的猴子生肖邮票值多少钱? 1992年猴邮票值多少钱?