Excelファイルからデータテーブルにデータを書き込むために以下のコードを書きましたが、何らかの理由でデータテーブルに書き込むときにインデックス0と1の行のデータが表示されません。なぜこれができるのか、誰にも考えがありますか..
var excelDataTable = new DataTable();
var excelAdapter = new OleDbDataAdapter();
var excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source= " + excelFileName + ";Extended Properties=Excel 12.0;";
// Create Connection to Excel Workbook
using (var excelConnection = new OleDbConnection(excelConnectionString))
{
excelConnection.Open();
var dt = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dt != null)
{
var excelSheet = new String[dt.Rows.Count];
int i = 0;
foreach (DataRow row in dt.Rows)
{
excelSheet[i] = row["Table_Name"].ToString();
i++;
}
var command = new OleDbCommand
("Select * FROM [" + excelSheet[0] + "]", excelConnection); // should be first sheet not the name of the sheet, should be index
excelAdapter.SelectCommand = command;
}
excelAdapter.Fill(excelDataTable);
excelConnection.Close();
}