excel在日常办公生活中应用广泛,使用C#导出Excel的方法有很多种,网上介绍的资料也很多。这篇文章属于个人多年来导出Excel的经验总结,包括各种生成excel的方法,输出excel,释放资源以及使用开源项目等。
1、构造Excel的方法
(1)csv结构
遍历数据,构造一个csv文件,然后可以用Excel打开。
csv结构:
用英文逗号分割列
用换行符分割行
(2)制表符或者html table
遍历数据,用制表符分割数据到不同的单元,然后可以用Excel打开。
制表符结构:
\t 分割列
\n 分割行
html table结构:
<table>
<tr>
<td></td>
</tr>
</table>
(3)PIA或Com组件
通过引用Excel PIA或者Excel Com组件,按照面向对象的编程模式构造Excel。推荐使用Excel PIA。
ASP.NET使用Excel Application组件生成Excel
C#导出Excel后关闭进程(EXCEL.EXE)释放资源的解决方案
使用Office PIA生成Excel并释放资源
使用QueryTable快速填充Worksheet导出Excel
(4)从控件或页面获取
获取控件和页面的内容,如DataGird、GridView等。然后以Excel的ContentType输出到页面。
适用于asp.net。
(5)使用第三方组件
如myxls等开源项目,导出真正的Excel文件,属于托管程序,对于大多数的应用推荐使用,但是仍有一部分功能不支持,如包含图片。
使用myxls导出真正的Excel文件
网上也有其它基于Biff8格式生成Excel的程序,自己可以找找。
2、输出Excel方法
(1)Response到浏览器页面
Response.Write输出字符串
Response.WriteFile输出文件内容
常用设置:
Response.ContentType = "application/vnd.ms-Excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.Charset = "UTF-8"; Response.AppendHeader("content-disposition", "attachment;filename=" + strFileName);
(2)写入到文件
在winform中使用一般要写入Excel文件,使用Com组件或者PIA一般也要先保存到文件。
自带方法保存:使用QueryTable快速填充Worksheet导出Excel
FileStream保存:c#将数据集合导出Excel的方法(使用csv或制表符)
3、资源释放
如果使用Excel PIA或者Com组件,资源释放是个重要的事情。
第一个方法是我写的一个通过杀死进进程释放非托管资源的方法;第二个方法是参照微软提供的实例。
C#导出Excel后关闭进程(EXCEL.EXE)释放资源的解决方案
使用Office PIA生成Excel并释放资源
发表评论
相关文章
国内AI资源汇总,AI聊天、AI绘画、AI写作、AI视频、AI设计、AI编程、AI音乐等,国内顺畅访问,无需科学上网。
扫码或点击进入:萤火AI大全
文章分类
最新评论