我需要将DataTable转换为Excel 2007格式并将其另存为excel文件(.xlsx)2007。

谁能帮助我实现这一目标?

最佳答案

您可以使用OLEDB数据提供程序,并将Excel视为另一个ADO.NET数据源,以便遍历DataTable行并将其插入Excel电子表格。这是一篇Microsoft KB文章,带您详细了解许多细节。

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

如果要创建2007(.xlsx)版本,请使用以下连接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Book1.xlsx;Extended Properties="Excel 12.0;HDR=YES

您可能必须从Microsoft下载ACE提供程序才能创建XLSX文件。您可以找到它here

我通常使用XLS提供程序,因此我没有与XLSX提供程序一起工作。

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

关于c# - 将数据表转换为Excel 2007(.xlsx),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3283204/

10-13 06:04