ASP.NET MVC / C# – 如何转换/创buildExcel(xls)从MVC中的DataTable /列表的格式?

在此链接之后,我可以从DataTable创buildExcel xls文件。 但是,如何格式化XLS文件的内容?

谢谢。

我个人使用NPOI的结果很好。

使用这种技术你不能格式化内容。 您将需要为此使用一些第三方控件生成一个真正的Excel二进制文件。 这里有一个值得检查 。 你也可以看看这篇文章 。

该链接中的解决scheme只是创build一个制表符分隔的值文件,它只能包含单元格数据,而不包含格式信息。 如果你需要格式化,那么你要么保存带有.xls扩展名的HTML标记(不是我通常推荐的方法),要么你创build一个“真正的”Excel文件…但是我不知道什么库你在C#中有这样的选项(除了使用.net

但是,在上一个问题的答复中列出了一些图书馆

如果您更喜欢避免使用第三方库,那么您还有其他两个合理的select:

就我个人而言,我是SpreadsheetML(Excel 2003+支持的格式之一)的粉丝,因为从头开始手动生成相对容易。 只需创build一个看起来正确的文件并保存为SpreadsheetML格式,然后在生成自己的文件时使用它作为指导。


另一种方法是从一个预先格式化的“干净的”Excel文档(带有表格标题但没有数据)开始。 然后,您可以使用Jet.OLEDB提供程序向其中插入数据行。

这比使用第三方库有许多缺点:
1.无法格式化您插入的数据。 只允许格式化表标题等
2.某些版本的Windows的兼容性问题。
3.处理某些types的数据不佳。

与使用第三方库相比,它有一些优势:
1.来自微软。 更less的错误,免费,更低的恶意代码风险。
2.使用非常简单,假设您已经习惯了使用SQL。