Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC/C#-如何从MVC中的DataTable/List转换/创建具有格式的Excel(xls)?_C#_.net_Xml_Excel_Export To Excel - Fatal编程技术网

ASP.NET MVC/C#-如何从MVC中的DataTable/List转换/创建具有格式的Excel(xls)?

ASP.NET MVC/C#-如何从MVC中的DataTable/List转换/创建具有格式的Excel(xls)?,c#,.net,xml,excel,export-to-excel,C#,.net,Xml,Excel,Export To Excel,我能够从下面的DataTable创建ExcelXLS文件。但是如何格式化XLS文件的内容呢 谢谢。使用此技术无法格式化内容。为此,您需要使用第三方控件生成一个真正的Excel二进制文件。给你。您也可以看看。我个人使用过,效果很好 该链接中的解决方案只是创建一个以制表符分隔的值文件,该文件只能包含单元格数据,不能包含格式信息。如果您需要格式化,那么您可以使用扩展名.xls保存HTML标记(这不是我通常推荐的方法),或者创建一个“正版”Excel文件。。。但我不知道在C#中有什么库选项可以做到这一点

我能够从下面的DataTable创建ExcelXLS文件。但是如何格式化XLS文件的内容呢


谢谢。

使用此技术无法格式化内容。为此,您需要使用第三方控件生成一个真正的Excel二进制文件。给你。您也可以看看。

我个人使用过,效果很好

该链接中的解决方案只是创建一个以制表符分隔的值文件,该文件只能包含单元格数据,不能包含格式信息。如果您需要格式化,那么您可以使用扩展名.xls保存HTML标记(这不是我通常推荐的方法),或者创建一个“正版”Excel文件。。。但我不知道在C#中有什么库选项可以做到这一点(除了使用.net之外)


但是,在对

的回复中列出了许多库。如果您希望避免使用第三方库,您还有两个合理的选择:

就我个人而言,我是SpreadsheetML(Excel 2003+支持的格式之一)的粉丝,因为从零开始手动生成一个文件相对容易。只需创建一个外观正确的文件并保存为SpreadsheetML格式,然后在生成自己的文件时将其作为指导原则


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

与使用第三方库相比,这有许多缺点:
1.无法格式化正在插入的数据。只允许格式化表标题等。
2.某些Windows版本的兼容性问题。
3.对某些类型的数据处理较差

与使用第三方库相比,它有一些优势:
1.来自Microsoft。更少的bug,免费,更少的恶意代码风险。

2.非常简单易用,假设您已经习惯使用SQL。

似乎NPOI非常适合。他们可以接收数据集并生成Excel吗?对象的通用列表如何?谢谢。您应该自己迭代数据并创建Excel文档。实际上非常简单-检查示例。