上一篇實現單一 Excel 匯入,實務上常需處理目錄下所有同結構 Excel 檔案。SSIS Foreach Loop Container 正是為此設計。
支援五種列舉類型:

Product1.xlsProduct2.xls,複製 ProductID < 800 的資料ForeachInput.dtsxCurrentExcelPath 儲存每次列舉的檔案完整路徑F:\ (或實際存放目錄)*.xls** (支援萬用字元)
User::CurrentExcelPathExcelFilePath = @[User::CurrentExcelPath]Excel 連線管理器 → 屬性視窗 → Expressions → 新增:
Property: ExcelFilePath
Expression: @[User::CurrentExcelPath]
此設定使每次迴圈自動切換至當前列舉檔案。
| 需求 | 實作方式 |
|---|---|
| 遞迴處理子目錄 | 集合頁面勾選「遞迴子資料夾」 |
| 檔案名稱模式比對 | 使用 Product_*.xls 或 ??_data.xlsx |
| 處理前先驗證檔案結構 | Script Task 檢查 Sheet 名稱、欄位數 |
| 處理後移動/刪除/歸檔 | File System Task 移動至備份資料夾 |
| 記錄每個檔案處理狀態 | 資料流加入來源檔案欄位 + 稽核資料表 |
Run64BitRuntime=FalseRetainSameConnection=FalseIMEX=1 強制混合類型視為文字