2012-01-16 61 views
0

xlsファイルをポストバックして、アダプタを作成するときに「インストール可能なISAMが見つかりませんでした。私は、ロンは、選択したDBドライバがアクセス2010のドライバで言ったようにOffice 2007の32ビット、ランニングXP 64ビットExcelスプレッドシートを解析しようとしたときに「インストール可能なISAMが見つかりませんでした」というエラーが表示される

UPDATEが4.0に12.0に--same問題

private string convertFileToPSV(HttpPostedFileBase file) { 

     var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
           "Source="+ fileName +";" + 
           "Extended Properties=\"Excel 8.0;HDR=YES;\""; 

     var adapter = new OleDbDataAdapter("SELECT * FROM [Sheet1]", connectionString); 
     var dt = new DataTable(); 

     adapter.Fill(dt); 

     string psvSting = ""; 

     for (int i = 0; i < dt.Rows.Count; i++) { 
      for (int j = 0; j < dt.Columns.Count; j++) { 
       psvSting += "\"" + dt.Rows[i][j].ToString() + "\"|"; 
      } 
     } 
+0

「Microsoft.ACE.OLEDB.12.0」ドライバがインストールされていることを確認してください。すべてのMS-OSには含まれていません。 –

答えて

0

を接続文字列を変更しました。これを実行しているマシンに2010のアクセス権がない場合は、動作しません。あなたがドライバをダウンロードすることができるようにronが示唆したようにhere

これはXPとVistaに付属していますので、Provider=Microsoft.Jet.OLEDB.4.0を試してみてください。ただし、Windows 7を使用している場合はダウンロードを使用する必要があります。

Excelバージョンはまた、あなたが使用しているExcelれ一致している必要があります:概要で

Excel 2003のExcel 8.0

エクセル2007/2010 Excel 12.0

を接続文字列が

var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
          "Source="+ fileName +";" + 
          "Extended Properties=\"Excel 12.0;HDR=YES;\""; 
+0

接続文字列を変更したのに、同じエラーが発生しました。 – marknery

+0

あなたは大丈夫です...エクセルのバージョンもアップデートする必要があり、オリジナルの問題だったかもしれません。私は私の答えを更新します – Pynner

0

をお読みくださいJetドライバはx86のみです。それをx64 OS上で実行しようとするとうまくいかないでしょう。 .NETプロジェクトのプロパティで明示的にx86をターゲットにして、x86アンマネージバージョンのドライバを確実にロードするようにしてください。

0

"Source="の代わりに "Data Source="を使用してみてください。

var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
         "Data Source="+ fileName +";" + 
         "Extended Properties=\"Excel 8.0;HDR=YES;\""; 
0

私はquestionだと思います。ただ2つ必要です。最後に。

var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + 
           "Source="+ fileName +";" + 
           "Extended Properties='Excel 8.0;HDR=YES;';"; 
関連する問題