生成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