使用.xlsx扩展名导出Excel文件

4

我正在尝试使用以下代码导出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 Database Engine 2010版本和Office Professional Plus 2013。

我该如何解决这个问题?


请问你能否添加将数据导出到Excel的代码? - Archimaredes
你使用的是哪个版本的Excel? - Archimaredes
我正在使用Office Professional Plus 2013,计算机上还安装了Microsoft Access Database Engine 2010版本。 - Anil Kocabiyik
1
看一下 DocumentFormat.OpenXml,因为你的数据是在 c# 中。可以谷歌一下或者参考这个教程:http://www.dispatchertimer.com/tutorial/how-to-create-an-excel-file-in-net-using-openxml-part-1-basics/ - Daniel Stackenland
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接