我有一个DataTable我需要将其转换为Excel2007格式,并将其保存为Excel文件(.xlsx)2007
有人能帮我做到这一点吗
您可以使用OLEDB数据提供程序,将Excel视为另一个ADO.NET数据源,以便循环遍历数据表行并将其插入Excel电子表格。这里有一篇MicrosoftKB文章,它将引导您了解很多细节
http://support.microsoft.com/kb/316934/en-us
需要记住的一点是,您可以在工作簿中创建工作簿和工作表,并且可以通过在名称末尾添加“$”来引用现有工作表。如果省略工作表名称末尾的“$”,OLEDB提供程序将假定它是一个新工作表并尝试创建它
货币后面的美元符号
工作表名称表示
该表存在。如果您正在创建
一个新表,如中所述
创建新的工作簿和表
在本文的第节中,不要使用
美元符号
您可以创建2003(.xls)或2007格式(xlsx)的电子表格,这是在连接字符串上定义的–您可以指定要写入的文件,只需指定扩展名。确保使用正确的OLEDB提供程序版本
如果要创建2003(.xls)版本,请使用以下连接字符串:
Provider=Microsoft.Jet.OLEDB.4.0;数据源=C:\Book1.xls;扩展属性=“Excel 8.0;HDR=是
如果要创建2007(.xlsx)版本,请使用以下连接字符串:
Provider=Microsoft.ACE.OLEDB.12.0;数据源=C:\Book1.xlsx;扩展属性=“Excel 12.0;HDR=是
您可能必须从Microsoft下载ACE提供程序才能创建XLSX文件。你可以在这里找到它
我通常使用XLS提供程序,因此我没有与XLSX提供程序合作过那么多
希望这有帮助。如果你还有其他问题,请告诉我