[英]Could not find installable ISAM
我有以下代碼:
string excelConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\db\suc.xls; Extended Properties=""Excel 12.0;HDR=YES;""";
// Create Connection to Excel Workbook
using (OleDbConnection connection =
new OleDbConnection(excelConnectionString))
{
OleDbCommand command = new OleDbCommand
("Select * FROM [Sheet1$]", connection);
connection.Open();
我收到以下錯誤:
找不到可安裝的 ISAM。
在connection.Open()
。 有任何想法嗎?
我有同樣的錯誤,但以上建議均無效。 在我的例子中,我所要做的就是將我的連接字符串更改為:
string connStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FilePath + ";Extended Properties='Excel 12.0;IMEX=1;'";
請注意 Extended Properties 屬性周圍的單引號 ('Excel 12.0;IMEX=1;')。 一旦我添加了那些單引號,錯誤就消失了!
沒有 64 位版本的 Jet OLEDB 驅動程序,因此如果您在 64 位操作系統上運行它,您可能需要在 .NET 應用程序中以x86
為目標,而不是Any CPU
:
我在嘗試使用更新的提供商打開 xls 文件時遇到了這個問題。 我通過更改我的擴展屬性來解決這個問題
Extended Properties="Excel 11.0;"
到
Extended Properties="Excel 8.0;"
我想 Excel 11 需要一個 xlsx 樣式的文件。
在 64 位 Windows 和 64 位 Office(2010、2013)環境中,有很多關於此錯誤的報告。 修復或解決方法有點奇怪,但似乎對大多數人都有效。
“ Microsoft Access Database Engine 2010 Redistributable ”安裝包似乎很自然,但有幾份報告稱它不起作用。
相反,使用“ 2007 Office System 驅動程序:數據連接組件”似乎可以解決大多數人的上述問題。
使用Extended properties="\excel 8.0;
我有同樣的問題。 我使用的是 Excel 2010 數據庫。 但是我有一個 xlsx 文件而不是 xls。 我使用連接字符串作為休閑解決了我的問題,
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=logbook.xlsx;Extended Properties='Excel 12.0;HDR=YES;IMEX=1;';
我缺少的是,我使用了 OLEDB.4.0 而不是 ACE.12.0。 我嘗試使用 ACE.14.0。 但它也沒有用。 然后我錯過了擴展屬性周圍的引號 (' ')。
抱歉,如果答案難以閱讀,我正在將其上傳到手機中。
// 設置與 EXCEL 文件的連接。
OleDbConnection myExcelConn = new OleDbConnection
("Provider=Microsoft.ACE.OLEDB.12.0; " +
"Data Source=" + Server.MapPath(".") + "\\" + fileUpload1.FileName +
";Extended Properties='Excel 12.0;HDR=YES'");
在擴展屬性中放置單引號,如 Extended Properties ='Excel 12.0:HDR=YES' 解決了我的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.