将datatable转换为excel 2007(.xlsx)

hap*_*ile 10 c# datatable excel

我有一个DataTable我需要放入Excel 2007格式并将其保存为Excel文件(.xlsx)2007.

任何人都可以帮我实现这个目标吗?

Dav*_*ter 8

您可以使用OLEDB数据提供程序,只需将Excel视为另一个ADO.NET数据源,以便遍历DataTable行并将它们插入Excel电子表格中.这是一篇Microsoft知识库文章,向您介绍了很多细节.

http://support.microsoft.com/kb/316934/en-us

要记住的重要一点是,您可以在工作簿中创建工作簿和工作表,并且可以通过在名称末尾附加"$"来引用现有工作表.如果省略工作表名称末尾的"$",OLEDB提供程序将假定它是一个新工作表并将尝试创建它.

工作表名称后面的美元符号表示该表存在.如果要创建新表,如本文的"创建新工作簿和表"部分中所述,请不要使用美元符号.

您可以在2003(.xls)或2007格式(xlsx)中创建和开发电子表格,并在连接字符串上定义 - 指定要写入的文件,并指定扩展名.确保使用正确的OLEDB提供程序版本.

如果要创建2003(.xls)版本,请使用此连接字符串:

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties="Excel 8.0;HDR=YES
Run Code Online (Sandbox Code Playgroud)

如果要创建2007(.xlsx)版本,请使用此连接字符串:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Book1.xlsx;Extended Properties="Excel 12.0;HDR=YES
Run Code Online (Sandbox Code Playgroud)

您可能必须从Microsoft下载ACE提供程序才能创建XLSX文件.你可以在这里找到它.

我通常使用XLS提供程序,所以我没有同样使用XLSX提供程序.

希望这可以帮助.如果您有其他问题,请告诉我.