2

私の質問に答えてくれてありがとうAstander

私はより詳細なクエリでここにいます。

        string cs = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + @"D:\\sample.xls;" + "Excel 12.0;HDR=YES;";
        OleDbConnection Excelcon = new OleDbConnection(cs);
        OleDbDataAdapter ad = new OleDbDataAdapter();
        ad.SelectCommand = new OleDbCommand("SELECT *FROM [Sheet1$]", Excelcon);
        DataTable dt = new DataTable();
        ad.Fill(dt);
        return dt;

次の select ステートメントでエラーが発生します。

Microsoft Office Access データベース エンジンは、オブジェクト 'Sheet1$' を見つけることができませんでした。オブジェクトが存在すること、およびその名前とパス名のつづりが正しいことを確認してください。

誰かが解決策を見つけるのを手伝ってくれることを願っています。

4

2 に答える 2

0

私にとってうまくいったのは、ファイルが作成されたときに、特定の場所に保存されたことです。私の場合、C:/Documents.

私は手動で場所を D に変更しました: これは私が書いたものです

string connStringExcel = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source= D:\example.xls ;Extended Properties=""Excel 12.0;HDR=YES;""";`

したがって、実際のパスは

string connStringExcel = @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\A\Documents\example.xls;Extended Properties=""Excel 12.0;HDR=YES;""";`

したがって、正しい場所のパスを指定すると、クエリが解決されました。

それが他の誰かにも役立つことを願っています。

于 2013-03-14T09:30:42.610 に答える