データをExcelからデータベースにインポートする必要があります。
しかし、それは私にエラーを与えます。 "位置0には行がない。"その間に、8行目の "TABLE"の代わりにテーブル名を置き換えるべきですか?以下はExcelからC#のデータベースにデータをインポートする
は私のコードです:
public static DataTable ReadExcelWithoutOffice(string filePath)
{
var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=YES;TypeGuessRows=0;FirstRowHasNames=true;ImportMixedTypes=Text\""; ;
using (var conn = new OleDbConnection(connectionString))
{
conn.Open();
var sheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
using (var cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM [" + sheets.Rows[0]["TABLE_NAME"].ToString() + "] ";
var adapter = new OleDbDataAdapter(cmd);
var ds = new DataSet();
adapter.Fill(ds);
return ds.Tables[0];
}
}
}
http://stackoverflow.com/questions/14796454/import-excel-sheet-using-jet-oledb-4-0-setting-first-row-as-column-name – A3006
チェックした場合任意のデータを返し、次の操作に進むクエリ –
Excelファイルには何枚のシートがありますか? ExcelのUIでこれらのシートが表示されている順序でこれらのシートを取得する保証はありません – Steve