我的程序中有一个DataTable,我之前使用CSV文件导出到Excel。但是,我想有条件地格式化单元格的背景颜色 - 这显然需要一种新的方法。
问题是这个 - 运行软件的计算机没有Excel。所以我不能沿着调用Excel api的路线前进。
有没有一种简单的方法可以做到这一点,我错过了?如果没有,是否发布了Excel文件的格式或如何实现这一目标?
感谢。
编辑:
对于其他感兴趣的人,我最终找到了this post,它提供了我找到的最简单的方法。适用于Excel 2003。
答案 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文件以确保任何人都可以打开它们。