この投稿とほぼ同じエラーが発生しましたが、その解決策では問題が解決しませんでした。
私が得るエラーメッセージ:
Microsoft Office Access データベース エンジンは、オブジェクト 'Adresser$' を見つけることができませんでした。 オブジェクトが存在すること、およびその名前とパス名のつづりが正しいことを確認してください。
名前が正しいことを確認して再確認しました。シートの名前を変更し、名前をコピーしてコードに貼り付けましたが、何も機能していないようです。私は何を間違っていますか?
これは私のコードです:
string conStr = String.Format(
@"Provider={0};Data Source=""{1}"";Extended Properties=""{2}""",
"Microsoft.ACE.OLEDB.12.0",
"REGISTER 090310.xls",
"Excel 12.0 Xml;IMEX=1;HDR=YES;");
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
using (IDbConnection connection = factory.CreateConnection())
{
connection.ConnectionString = conStr;
using (IDbCommand command = connection.CreateCommand())
{
command.CommandText = "SELECT TOP 10 * FROM [Adresser$]";
connection.Open();
// The exception is thrown on this line, with yellow highlight on
// IDataReader dr = command.ExecuteReader()
using (IDataReader dr = command.ExecuteReader())
{
while (dr.Read())
{
Console.WriteLine(
string.Format("First name: {0}\tLast name: {1}",
dr[0].ToString(),
dr[1].ToString()));
}
}
}
}