Excel ファイルからデータを取得し、そのデータをデータベースに挿入する必要があります。データを取得しようとしていますが、HRESULT:0x800A03EC 例外エラーが発生し続けます。
私のコード:
public void ReadFile()
{
try
{
Excel.Application ep = new Excel.Application();
Excel.Workbook ewb = ep.Workbooks.Open(@"C:/Temp/Copy of AGCO Transport Schedule.xlsx");
Excel.Worksheet ews = ewb.Sheets[1];
Excel.Range range = ews.UsedRange;
int rowCount = range.Rows.Count;
int columnCount = range.Columns.Count;
for (int i = 1; i < rowCount; i++)
{
for (int j = 1; j < columnCount; j++)
{
string str = (string)(range.Cells[i, j] as Excel.Range).Value2;
Console.WriteLine(str);
}
}
}
catch (Exception e)
{
Console.WriteLine("YOLO "+e.Message);
}
}
}
ここでユーザーから上記のコードの解決策を取得した後。ループ インデックスは 0 ではなく 1 に変更する必要があります。上記のコードを修正しました。しかし、問題は、Excel のデータから 2 列だけを選択する必要があるため、SQL を使用して Excel ファイルからデータを取得し続けたことです。しかし、今回は「ファイルの作成に失敗しました」というエラーが発生し続け、これは接続を開こうとすると発生します。
私のコード:
public void ReadExcelFile()
{
string connectionString = string.Format(ConfigurationManager.ConnectionStrings["ExcelConnection"].ConnectionString.Replace("'", "\""), "@C:/Temp/Copy.xlsx");
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
try
{
connection.Open();
string sqlCmd = "SELECT * FROM [Ark1$]";
using (OleDbCommand command = new OleDbCommand(sqlCmd, connection))
{
command.CommandType = System.Data.CommandType.Text;
using (OleDbDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader.ToString());
}
}
}
}
catch (Exception exception)
{
Console.WriteLine("ERROR in ReadExcelFile() method. Error Message : " + exception.Message);
}
}
}
誰でもこれで私を助けることができますか?