生成Excel的几种方式

1. 用Native Office API. 即Microsoft.Office.Interop.Excel.这种方式是用Excel COM组件直接操作。实做的时候,要注意尽量减少COM方法的调用次数,以提高效率。比如向cell中写,可以用Rang的方式一次性地写入多笔,比单个cell写调 用的COM次数少很多。例如:excelSheet.get_Range("A1:H25", Type.Missing).Value2 =  bidimensionalObjectArray; 一个好例子是:http://www.codeproject.com/Articles/21519/Fast-Exporting-from-DataSet-to-Excel。这种方式也是非常快,而且可以对Excel进行的有的操作,包括格式等,但就是要安装Office在本地。

2. 用OLEDB的方式。把Excel当作数据库,用OLEDB Driver的方式打开Excel数据库,向里面插入数据。

3. 生成CVS. 这种方式效率高,但没有格式。要对CVS的分隔符进行处理,以避免与数据中的相同字符冲突。

4. 用纯的XML方式生成。可以参考https://openxmlpackaging.codeplex.com/。 这个可以写入多个Sheet, 不需要引有过多的dll. 是一个轻量型的库

5. 使用Open XML SDK. 这个是微软提供的,免安装Office即可用代码操作所有Office文件。要想用好它,还得仔细学一下,一般不是专门做Office的二次开发,可不用研究。可使用一个轻量型的open source. https://openexcel.codeplex.com/. 有测试过,的确生成Excel很快。但不知道是他自己写得快,还是本身open xml sdk就快。This one is perfect. http://closedxml.codeplex.com/

转载于:https://www.cnblogs.com/sdikerdong/p/3343981.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值