讀取Excel單元格的值我試圖通過SSIS ScriptTask讀取Excel文件來檢查該工作表某些細胞值。SSIS的腳本任務
在代碼示例中,你可以看到STRSQL設置爲「H4:H4」只讀一個細胞。這個單元格只能有一個真或假的值。 由於我還需要檢查B1中的某個字符串值我想擴展此版本。
string filePath = "c:\\test\\testBoolean.XLSX";
string tabName = "testSheet$";
string strSQL = "Select * From [" + tabName + "H4:H4]";
String strCn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="
+ filePath + ";Extended Properties=\"Excel 12.0;HDR=NO;IMEX=1\";";
OleDbConnection cn = new OleDbConnection(strCn);
int iCnt = 0;
OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSQL, cn);
DataSet ds = new DataSet();
objAdapter.Fill(ds, tabName);
DataTable dt = ds.Tables[tabName];
foreach (DataRow row in dt.Rows)
{
iCnt = iCnt + 1;
// some processing....
}
我不明白的是爲什麼我得到一個布爾值與上述STRSQL語句或包含像這樣在同一行號碼的任何statment:
string strSQL = "Select * From [" + tabName + "F4:H4]";
調試,輸出:
row.ItemArray[2] false object {bool}
但當我設置不同的範圍像這樣的:
string strSQL = "Select * From [" + tabName + "F1:H4]";
我鬆散的布爾值的識別:
row.ItemArray[2] "FALSE" object {string}
我寧願喜歡用其他的處理任務的布爾值。
如何我除了解決這個問題也讀B2價值?
這實際上是有道理的:-)感謝您的信息 - 我忽略了IMEX設置。 – TonyC