top of page

【Dynamo】 教學無法使用 ImportExcel 節點時的替代方案

  • 作家相片: Yimin Chen
    Yimin Chen
  • 9月10日
  • 讀畢需時 2 分鐘

在 Dynamo 的工作流程中,我們常常需要讀取 Excel 檔案來作為資料來源。然而,有些情況下 ImportExcel 節點可能無法正常使用,例如:

  • 讀取權限不足(公司資安政策)

  • Dynamo 版本與MS Office版本不相容或安裝不正確


在無法改變環境的情況下,如果我們仍然需要使用Dynamo來讀取表格資料的話,透過一些迂迴的方式還是有辦法可以達成。本文將提供兩種替代方案:

  1. Excel 轉成 CSV 檔案,利用 ImportCSV 節點

  2. Excel 轉成以 Tab 分隔的 TXT 檔案,利用 ReadText 節點


✨方法一:Excel → CSV → ImportCSV

  1. 開啟 Excel 檔案,點選 另存新檔

  2. 檔案格式選擇 CSV UTF-8 (逗號分隔) (.csv)

  3. 在 Dynamo 中,使用 ImportCSV 節點載入該檔案

  4. transpose 設定為 true(將讀取順序變成先列再欄)

✅優點:

  • 操作簡單,Dynamo 內建就有 ImportCSV 節點

  • 資料型態大部分能夠正確保留

  • 讀取速度較ImportExcel更快

❌缺點:

  • CSV 檔案只支援一個工作表(Sheet)

  • 如果 Excel 有多個 Sheet,需要個別存成多個 CSV


另存新檔(csv)
將Excel另存為.csv檔案格式


Dynamo中讀取csv的範例
Dynamo中讀取csv的範例


✨方法二:Excel → TXT(Unicode)→ ReadText

  1. 開啟 Excel,另存新檔時選擇 Unicode 文字(.txt)

  2. 在 Dynamo 中,使用 File Path + ReadText 節點讀取檔案

  3. 讀進來的資料會是一個字串,每一行代表一列,使用 String.Split 節點,以\r\n(換行)作為分隔符號,將每一列分開

  4. 再次使用 String.Split 節點,以 \t (Tab) 作為分隔符號,把每一欄拆開


✅優點:

若資料內容包含逗號(例如XY座標),用 Tab 分隔會比較安全

❌缺點:

需要額外的字串處理(Split、轉換型態等

將Excel另存成.txt
將Excel另存成.txt
在Dynamo中讀取.txt的範例
在Dynamo中讀取.txt的範例

✨結論

即使在 Dynamo 環境中無法使用 ImportExcel 節點,我們依然可以透過簡單的轉檔方式,繼續讓 Dynamo 讀取 Excel 的內容。

  • 方法一(CSV):快速、簡單,但僅支援單一工作表

  • 方法二(TXT + Tab 分隔):較靈活,可避免逗號衝突,但需要額外處理字串

建議依照專案需求選擇適合的方式,確保 Dynamo 的流程不中斷。

留言


0920520711

新北市永和區成功路一段93巷20弄17號3樓

  • Facebook

Copyright © 2020 by 鉤逸科技有限公司

bottom of page