我需要将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/