【Dynamo】 教學無法使用 ImportExcel 節點時的替代方案
- Yimin Chen
- 9月10日
- 讀畢需時 2 分鐘
在 Dynamo 的工作流程中,我們常常需要讀取 Excel 檔案來作為資料來源。然而,有些情況下 ImportExcel 節點可能無法正常使用,例如:
讀取權限不足(公司資安政策)
Dynamo 版本與MS Office版本不相容或安裝不正確
在無法改變環境的情況下,如果我們仍然需要使用Dynamo來讀取表格資料的話,透過一些迂迴的方式還是有辦法可以達成。本文將提供兩種替代方案:
將 Excel 轉成 CSV 檔案,利用 ImportCSV 節點
將 Excel 轉成以 Tab 分隔的 TXT 檔案,利用 ReadText 節點
✨方法一:Excel → CSV → ImportCSV
開啟 Excel 檔案,點選 另存新檔
檔案格式選擇 CSV UTF-8 (逗號分隔) (.csv)
在 Dynamo 中,使用 ImportCSV 節點載入該檔案
將 transpose 設定為 true(將讀取順序變成先列再欄)
✅優點:
操作簡單,Dynamo 內建就有 ImportCSV 節點
資料型態大部分能夠正確保留
讀取速度較ImportExcel更快
❌缺點:
CSV 檔案只支援一個工作表(Sheet)
如果 Excel 有多個 Sheet,需要個別存成多個 CSV


✨方法二:Excel → TXT(Unicode)→ ReadText
開啟 Excel,另存新檔時選擇 Unicode 文字(.txt)
在 Dynamo 中,使用 File Path + ReadText 節點讀取檔案
讀進來的資料會是一個字串,每一行代表一列,使用 String.Split 節點,以\r\n(換行)作為分隔符號,將每一列分開
再次使用 String.Split 節點,以 \t (Tab) 作為分隔符號,把每一欄拆開
✅優點:
若資料內容包含逗號(例如XY座標),用 Tab 分隔會比較安全
❌缺點:
需要額外的字串處理(Split、轉換型態等


✨結論
即使在 Dynamo 環境中無法使用 ImportExcel 節點,我們依然可以透過簡單的轉檔方式,繼續讓 Dynamo 讀取 Excel 的內容。
方法一(CSV):快速、簡單,但僅支援單一工作表
方法二(TXT + Tab 分隔):較靈活,可避免逗號衝突,但需要額外處理字串
建議依照專案需求選擇適合的方式,確保 Dynamo 的流程不中斷。
留言