SSISスクリプトコンポーネントを使用して、Excelのデータフェッチ範囲のENDポイントを取得するためにExcel行の位置を見つけようとしています。これを容易にするために、スクリプト タスクで Datatable を使用しています。以下の例では、シート範囲は常に 1 から始まります。範囲 A2:A10 で「データの終わり」を検索して、終了位置を取得する必要があります。
以下は私が使用しているコードです
string currentable ="Sheet1$"
string strSQL = "Select * From ["+currentTable+"A2:A10]";
int iCnt = 0;
OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSQL, excelConnection);
DataSet ds = new DataSet();
objAdapter.Fill(ds, currentTable);
DataTable dt = ds.Tables[currentTable];
foreach (DataRow row in dt.Rows)
{
MessageBox.Show("In for Loop");
iCnt = iCnt + 1;
MessageBox.Show(row[iCnt].ToString());
}
このコードでは、次のエラーが発生しています
System.IndexOutOfRangeException: 列 1 が見つかりません。
Excel の最初の列を参照し、文字列 "End of Data" を検索してその位置を取得する必要があります。
任意のアイデア/ヘルプ
ありがとう