MSExcelからデータをインポートしています。私が書いたコードは、
var ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" +
uploadfile.PostedFile.FileName + ";" + "Extended Properties=Excel 12.0;";
OleDbConnection objConn = new OleDbConnection(sConnectionString);
objConn.Open();
try
{
var objCmdSelect = new OleDbCommand("select * from [Sheet1$]", objConn);
}
等々。
私には非常に一般的に見えるエラーが発生しました
MicrosoftOfficeAccessデータベースエンジンはオブジェクト'Sheet1$'を見つけることができませんでした。オブジェクトが存在し、その名前とパス名を正しく入力していることを確認してください
*
私のワークシート名のスペルは正しいですが、確認のために、以下のコードを実行しましたdt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables、null);
if(dt == null)
{
return null;
}
var excelSheets = new String[dt.Rows.Count];
int i = 0;
// Add the sheet name to the string array.
foreach(DataRow row in dt.Rows)
{
excelSheets[i] = row["TABLE_NAME"].ToString();
i++;
}
*しかし、データテーブルがnullになりました。私の質問は、接続は正常に開かれていますが、Excelファイルからデータを読み取ることができません。 特別な認証が必要ですか? 上記のエラーが発生しているためです。