🖥️【教學】Spotfire 自動化報表儲存在哪?如何修改輸出資料夾路徑?

📌 前言:我只是點個程式,為什麼報表都跑到 D 槽去了?

如果你在工作中用到 TIBCO Spotfire 來自動產生報表,可能會遇過一個情況:

報表的 PDF 或 CSV 雖然會自動產出,但你永遠搞不清它跑去哪了!

其實,報表的輸出位置是寫在一段「程式腳本」裡的。就算你不會寫程式,看完這篇也能看懂並自行修改儲存位置,讓報表乖乖存到你想要的資料夾!


🛠️ 報表儲存路徑到底在哪裡設定?

✅ 關鍵程式碼片段

Spotfire 會透過腳本判斷今天是什麼日子,來決定要把報表存在哪裡。例如:

from datetime import datetime from os import makedirs from os.path import exists today = datetime.today() if today.weekday() == 2: # 週三 save_folder = f"D:/Reports/Weekly/{today.strftime('%Y-%m-%d')}" elif today.day == 5: # 每月 5 號 save_folder = f"D:/Reports/Monthly/{today.strftime('%Y-%m-%d')}"

這段的意思是:

  • 每週三:報表會儲存在 D:/Reports/Weekly/2026-01-06/

  • 每月 5 號:儲存在 D:/Reports/Monthly/2026-01-05/

這樣方便你回頭查報表,不會一團亂!



📁 如果要改儲存位置,要改哪裡?

只要找到上面 save_folder = 的地方,把 D:/Reports/... 換成你想要的資料夾即可!

例如:

save_folder = f"Z:/部門報表備份/{today.strftime('%Y%m%d')}"

這樣就會儲存在:

Z:\部門報表備份\20260106\

記得確認:

  • 資料夾存在或自動建立

  • 執行帳號有寫入權限


📤 報表怎麼輸出?包含哪些格式?

Spotfire 腳本會在儲存資料夾中產出:

  1. 多份 CSV:
    每一種裝置(如 Internal_Device)會產出一份 xxx.csv 報表。

  2. 一份 PDF 報表:
    可能是匯總版本,像 ScheduleReport.pdf

report.ExportToPdf(save_folder + "/ScheduleReport.pdf")

📄 如何知道是哪天會執行這段?

一般會搭配 工作排程器 (Windows Task Scheduler) 設定每天或每週自動執行。你可以透過 .bat 檔啟動 Spotfire 並帶入 .dxp 報表檔。

start "" /wait "C:\Program Files\TIBCO\Spotfire\Spotfire.Dxp.exe" "C:\Report\MyReport.dxp"

✅ 常見 QA 解答區

Q1. 若我想每天都輸出怎麼辦?

請將程式碼改為沒有日期限制的格式:

save_folder = f"D:/Reports/Daily/{today.strftime('%Y-%m-%d')}"

並在排程器中設定每天執行。


Q2. 檔名會覆蓋嗎?

會。如果檔名固定,但資料夾也固定的話,就會覆蓋之前的檔案。建議用日期做為檔名一部分。

filename = f"FT_Yield_{today.strftime('%Y%m%d')}.csv"

🎯 結語:不是工程師也能改報表儲存路徑

只要搞懂程式碼中關於「今天幾號?」「存哪一層資料夾?」「產出什麼報表?」這三件事,你就能自由掌控 Spotfire 自動報表的儲存邏輯!

下次再也不用滿地找 PDF 了 💪

留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🖥️遠端桌面連線完整新手指南:Windows RDP、Chrome Remote Desktop、AnyDesk、TeamViewer 一次搞懂

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)