0
我想將Excel數據添加到數據庫。我可以使用工作表名稱來完成工作,但它限制了用戶使用應用程序,所以我希望該用戶可以使用任何工作表名稱上傳Excel文件。C#Excel到沒有工作表名稱的OleDB
這是我的代碼:
public static DataSet ReadExcelFile(string sheetName, string path)
{
using (OleDbConnection conn = new OleDbConnection())
{
DataSet ds = new DataSet();
string Import_FileName = path;
string fileExtension = Path.GetExtension(Import_FileName);
if (fileExtension == ".xls")
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Import_FileName + ";" + "Extended Properties='Excel 8.0;HDR=YES;'";
if (fileExtension == ".xlsx")
conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Import_FileName + ";" + "Extended Properties='Excel 12.0 Xml;HDR=YES;'";
using (OleDbCommand comm = new OleDbCommand())
{
comm.CommandText = "Select * from [" + sheetName + "$]";
comm.Connection = conn;
using (OleDbDataAdapter da = new OleDbDataAdapter())
{
da.SelectCommand = comm;
da.Fill(ds, "Table");
return ds;
}
}
}
}
我怎樣才能加載Excel數據到數據庫中的任何表的名稱?
在此先感謝
對我來說你的要求不清楚,Excel文件總是有工作表,你想做什麼?只從第一張表中獲取數據?迭代每張紙? –
我的意思是我有兩個excel文件,其中一個人的工作表名稱爲sheet1 onether一個工作表名稱sheet2,在我的代碼中,我可以將兩個xml數據添加到數據庫 –
comm.CommandText =「Select * from [」+ sheetName +「$]」; sheetName可以是任何字符串 –