【发布时间】:2010-11-11 11:34:57
【问题描述】:
我正在尝试使用下面显示的代码读取 Excel (xlsx) 文件。我得到一个“外部表不是预期的格式”。错误,除非我已经在 Excel 中打开了该文件。换句话说,我必须先在 Excel 中打开文件,然后才能从我的 C# 程序中读取 if。 xlsx 文件在我们的网络上共享。如何在无需先打开文件的情况下读取文件? 谢谢
string sql = "SELECT * FROM [Sheet1$]";
string excelConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathname + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1;\"";
using (OleDbDataAdapter adaptor = new OleDbDataAdapter(sql, excelConnection)) {
DataSet ds = new DataSet();
adaptor.Fill(ds);
}
【问题讨论】:
-
FWIW 我在 Excel 工作表上收到了这个,当我试图打开它时,我使用的是当前的 ACE 和建议的扩展属性。当我手动打开文件时,顶部有启用编辑的提示,我需要弄清楚如何自动翻转该位,但如果你得到这个,你可能只需要打开文件,然后启用编辑.我可能会看看我是否可以以只读方式打开文件,我在这个线程中看到了一些关于此的内容。
标签: c# excel-2007 xlsx import-from-excel