用C#构buildExcel文件

我需要通过C#创build一个Excel文件。 我已经阅读了几个地方创build一个XML文档是最简单的方法来做到这一点? 我需要有多个命名选项卡,并能够指定特定的单元格是文本,date时间,数字等…任何build议或良好的例子?

您需要System.IO.Packaging API – 这将允许您按照将值插入Excel 2007单元格中所述生成.xlsx文档。 Excel 2007格式也可以在安装了免费的Microsoft Office兼容包的情况下由Excel 2003和XP使用。

看看NPOI:

http://www.codeplex.com/npoi

在SO的其他地方也有相当好的报道:

https://stackoverflow.com/search?q=create+excel+.net

这是令人沮丧的难以做到的,因为微软推荐的机制涉及到使用Office,这在桌面上是好的,但对Web来说却是无用的。

.xls文件的二进制格式是合适的,所以Microsoft在Office 2007中引入了.xlsx OpenXML文件。

.xslx被认为是简单的 – 它只是一个充满XML文件的zip容器。 你可以用System.IO.Packaging打开它,并用System.Xml编辑它。 旧版本的Office甚至还有兼容包。

不幸的是,它并不简单 – .xslx的格式超出了单词的可怕范围

看起来他们已经采取了16位优化的二进制.xls格式(最初为Windows 3.1devise),并将其序列化为XML而不是二进制。 然后他们又添加了一些非常愚蠢的改变,比如单元格的注释实际上就是VML–一种被IE5抛弃的格式! 他们还为XML添加了大量的魔术数字和元数据,所以你不能使用任何forms的变换,所以你手动parsing这个吸盘。

最后,他们已经完成了一个完整的驴子debugging,我们经常发现兼容包报告的.xslx文件损坏(没有理由),但最新版本的Office可以打开。

有一个非常好的开源库: SpreadsheetLight 。 这是一个非常好的库,但是任何需要你自己挖掘和扩展.xslx文件的东西都会很痛苦。

你可以切断这个链接

和电子表格

和CarlosAg Excel Xml编写器库

我们在工作中使用Aspose套件。 它有一个大function的“细胞”组件,为我们创造奇迹。

http://epplus.codeplex.com/ – 看看这个项目,它的帮助非常大。 我发现这个链接: https : //stackoverflow.com/questions/170652/whats-the-best-net-library-for-parsing-and-generating-excel-spreadsheets