使用C#将数据导出到Excel(包括格式化)

时间:2011-01-06 14:25:25

标签: c# .net excel datatable export-to-excel

我的程序中有一个DataTable,我之前使用CSV文件导出到Excel。但是,我想有条件地格式化单元格的背景颜色 - 这显然需要一种新的方法。

问题是这个 - 运行软件的计算机没有Excel。所以我不能沿着调用Excel api的路线前进。

有没有一种简单的方法可以做到这一点,我错过了?如果没有,是否发布了Excel文件的格式或如何实现这一目标?

感谢。


编辑:

对于其他感兴趣的人,我最终找到了this post,它提供了我找到的最简单的方法。适用于Excel 2003。

2 个答案:

答案 0 :(得分:1)

哪个版本的Excel? 如果你需要excel 2003,那么看看: http://www.carlosag.net/Tools/ExcelXmlWriter/

如果你对excel 2007没问题的话,那就是: http://excelpackage.codeplex.com/(开源) 要么 http://msdn.microsoft.com/en-us/library/bb448854.aspx(官方MS产品)

答案 1 :(得分:0)

查看NPOI,它是POI的.NET端口,一个免费的MS office互操作库。它功能强大且相当直接学习(虽然文档是不确定的)。我会阅读NPOI上的一些过去的帖子(并不是那么多)来熟悉一些令人沮丧的问题,这些问题不是那么多问题,因为这些问题是违反直觉的,而且从文档中并不总是很明显。

但是一旦你超越了缺乏一个好的入门,它就是一个很棒的库。

我假设你在谈论xls格式。如果您可以使用较新的基于XML的xlsx格式,那么这是一个完全不同的问题。您只需要编写XML,该格式可以在Microsoft的网站上找到。 可能 (参见其他答案)工具可以帮助解决这个问题,但就个人而言,我总是只使用NPOI并编写XLS文件以确保任何人都可以打开它们。