我試圖用條件將excel導入到我的DataTable中。 示例: - 用戶有我提供的excel導入模板,第一行爲0作爲列標題(ItemCode,QTY,SerialNo,Remarks)。但是由於用戶可能會意外地在我的準備就緒列的任何位置插入少量不需要的列名,或者刪除我的一個列名。C#如何將excel的特定列名導入到DataTable中
無論發生什麼事情,我都嘗試構建代碼,系統僅檢測標準就緒列標題(ItemCode,QTY,SerialNo,Remarks)。並且只會將該列添加到Excel中而忽略那些意外刪除列名。
在允許將特定列導入dataTable之前,何時存在對列名檢測進行編碼的最佳方式是什麼?
下面是我當前的Excel導入代碼(我嘗試添加上述條件代碼)
private DataTable ReadExcelToDataTable(string filePath)
{
tableSalesOrder = new DataTable("dtSO");
string strConn = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;TypeGuessRows=0;ImportMixedTypes=Text\"", filePath);
using (OleDbConnection dbConnection = new OleDbConnection(strConn))
{
dbConnection.Open();
DataTable dtExcelSchema = dbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string sSheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
dbConnection.Close();
using (OleDbDataAdapter dbAdapter = new OleDbDataAdapter("SELECT DISTINCT * FROM [" + sSheetName + "]", dbConnection)) //rename sheet if required!
dbAdapter.Fill(tableSalesOrder);
}
return tableSalesOrder;
}
我已經嘗試谷歌周圍,發現了許多線索,但仍無法使其工作。 謝謝你的任何建議。