[英]Export Excel File with .xlsx Extension
我正在尝试使用以下代码导出xlsx文件:
DataTable dataTable= new DataTable(tableName);
OleDbDataAdapter adapter = new OleDbDataAdapter(select, accessConnection);
adapter.FillSchema(dataTable, SchemaType.Source);
foreach (DataRow result in dtResult.Rows)
{
DataRow newRow = dataTable.NewRow();
foreach (DataRow drAssign in dtAssignment.Rows)
{
newRow[drAssign["Destination"].ToString()] = result[drAssign["Source"].ToString()];
}
dataTable.Rows.Add(newRow);
}
adapter.Update(dataTable);
连接字符串是
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\AA\Desktop\work10.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
我正在尝试将100行导出到xlsx文件。 当我尝试打开excel文件时,我得到了
'Excel无法打开test.xlsx,因为文件格式或文件扩展名无效。 验证文件是否已损坏,文件扩展名是否与文件格式匹配
错误。
将.xlsx扩展名更改为.xls后,文件正在打开。
但是必须在不改变扩展名的情况下使用xlsx选项。
计算机上安装了Microsoft Access数据库引擎2010版和Office Professional Plus 2013。
我怎么解决这个问题?
这是因为根据https://support.microsoft.com/en-us/kb/928979,OLEDB保存为二进制文件,而不是XML。
切换到XML库,像ClosedXml一样或使用标准Excel.Interop。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.