加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 22:25:48 所属栏目:百科 来源:网络整理
导读:我正在尝试使用以下代码导出xlsx文件: DataTable dataTable= new DataTable(tableName);OleDbDataAdapter adapter = new OleDbDataAdapter(select,accessConnection); adapter.FillSchema(dataTable,SchemaType.Source);foreach (DataRow result in dtResul
我正在尝试使用以下代码导出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:UsersAADesktopwork10.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";

我正在尝试将100行导出到xlsx文件.当我尝试打开excel文件时,我得到了

‘Excel can not open the test.xlsx because file format or file
extension is not valid. Verify that the file has not been corrupted
and that the file extension matches the format of the file’

错误.

将.xlsx扩展名更改为.xls后,文件正在打开.

但是必须在不改变扩展名的情况下使用xlsx选项.

计算机上安装了Microsoft Access数据库引擎2010版和Office Professional Plus 2013.

我怎么解决这个问题?

解决方法

这是因为根据 https://support.microsoft.com/en-us/kb/928979,OLEDB保存为二进制文件,而不是XML

切换到XML库,像ClosedXml一样或使用标准Excel.Interop.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读