Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 导出扩展名为.xlsx的Excel文件_C#_Excel_Oledb_Xlsx_Oledbdataadapter - Fatal编程技术网

C# 导出扩展名为.xlsx的Excel文件

C# 导出扩展名为.xlsx的Excel文件,c#,excel,oledb,xlsx,oledbdataadapter,C#,Excel,Oledb,Xlsx,Oledbdataadapter,我正在尝试使用以下代码导出xlsx文件: DataTable dataTable= new DataTable(tableName); OleDbDataAdapter adapter = new OleDbDataAdapter(select, accessConnection); adapter.FillSchema(dataTable, SchemaType.Source); foreach (DataRow result in dtResult.Rows) { Dat

我正在尝试使用以下代码导出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


我该如何解决这个问题呢?

这是因为OLEDB保存为二进制文件,而不是XML,如


切换到XML库以执行类似于ClosedXml的操作,或者使用标准Excel.Interop。

是否可以添加将数据导出到Excel的代码?您使用的是什么版本的Excel?我使用的是Office Professional Plus 2013,计算机上还安装了Microsoft Access Database Engine 2010版本。查看改为DocumentFormat.OpenXml,因为数据是c#格式的。用谷歌搜索,或者看看这个教程