甘特圖無法直接在 Google Docs 中建立,因為該應用程式的原生工具僅支援繪圖、表格和插入圖片,並不支援對應行事曆軸的排程長條時間軸。若要在 Google Doc 中放入真正的甘特圖,必須先在專用工具中建立時間軸,再將完成的檔案以圖片形式放入文件。甘特圖製作工具負責處理排程:貼上 2 到 30 行嚴格以 YYYY-MM-DD 格式排列的 task,start,end 資料、產生圖表,再下載與螢幕預覽完全一致的獨立 SVG。接著用「插入 → 圖片 → 從電腦上傳」上傳該 SVG,圖表就會以完整解析度顯示在頁面上。檔案中每個長條、刻度和標籤都是依據 UTC 與共享行事曆軸計算出來的,因此當其他時區的協作者稍後開啟同一份 Doc 時,排版不會跑掉。

為何 Google Docs 沒有原生的甘特圖
Google Docs 是文書處理器。它的繪圖畫布可以接受形狀、線條、箭頭和文字方塊,表格可以存放資料列,但這兩種介面都無法產生一條從某個日期開始、到另一個日期結束的水平長條。Google Slides 和 Google Sheets 在 Workspace 的其他地方扮演這些角色,但 Docs 本身沒有時間軸物件,也沒有將任務標籤對應到日期範圍的圖表類型。搜尋內建甘特圖選項只會得到替代方案:在 Sheets 中建立圖表、匯出 PNG、再把該圖片插入 Doc,或者在繪圖中手動繪製長條。這兩種做法都會增加步驟,而 Sheets 路線通常還得依賴堆疊長條圖範本,讓讀者逐列設定格式。
最快的方式是在瀏覽器工具中建立圖表、產生單一 SVG 檔案,再以圖片形式插入。該 SVG 可以像 Doc 中其他圖片一樣縮放、對齊、加上文繞圖,或錨定到段落。下表比較 Docs 使用者在搜尋時會遇到的三種常見做法。
| 做法 | 圖表建立位置 | 插入 Docs 的輸出檔案 | 是否需要範本或外掛 |
|---|---|---|---|
| Google Docs 繪圖 | 在 Doc 內部,以手動矩形繪製 | 無外部檔案;形狀存在於 Doc 內部 | 否 |
| Google Sheets 堆疊長條範本 | 在獨立的 Sheet 中,再匯出 | PNG 或 PDF 螢幕擷圖 | 是 |
| 甘特圖製作工具 | 目前的瀏覽器分頁,在瀏覽器本機執行 | 獨立 SVG,與預覽完全相同 | 否 |
前兩種方式會在每次任務更動時迫使你重新調整格式。第三種方式會產生具有確定性定位的真實圖表物件,因此日期變更時只會移動長條,而非重畫整個頁面。
甘特圖製作工具需要你提供什麼
此工具讀取的是精簡的時程,不是完整的試算表。每個非空白的輸入列都必須剛好由兩個逗號分隔的三個欄位:任務標籤、開始日期、結束日期。不支援引號欄位、跳脫逗號、多行欄位或額外的欄位,因此若任務標籤需要用到逗號,必須在貼上之前改寫掉。任何一個格式錯誤的列都會使整個請求被拒;剖析器不會略過錯誤的行,也不會回傳部分圖表。
日期使用真實的 UTC 曆法日期,嚴格採用 YYYY-MM-DD 格式:四位數、一個連字號、兩位月份數字、一個連字號、再加兩位日期數字。工具會依據推延格里曆進行驗證,而不是寬鬆的字串剖析器,因此像第 13 個月、4 月 31 日或非閏年的 2 月 29 日等數值在繪製任何長條之前就會失敗。斜線、缺少補零、時間文字、時區後綴同樣都會失敗。每個結束日期必須等於或晚於其開始日期,且結束日期包含在內。若某個任務的開始與結束日期相同,則佔據一個可見的日期格;從 1 月 1 日到 1 月 3 日的任務則佔據三格。該跨度的包含天數計算方式為「結束日天數減去開始日天數再加 1」,因此以 1 月 1 日到 1 月 3 日為例,就是 3 減 1 加 1,等於 3 個日期格。
其他在貼上之前值得留意的限制:圖表至少需要 2 列、最多 30 列非空白列;任務標籤上限為 80 個 UTF-16 程式碼單位;選填的標題上限為 100 個;原始時程輸入上限為 20,000 個程式碼單位。空白行只有在檢查過原始輸入預算之後才會被忽略,因此無法用填補的方式來規避上限。允許重複的標籤與重疊的任務,並會依輸入順序保留為各自獨立的列。
三個動作完成甘特圖
- 輸入選填的標題並準備資料列。 在新的瀏覽器分頁中開啟甘特圖製作工具。若想為圖表加上標題,請先在標題欄位中輸入;此欄位為選填,上限為 100 個 UTF-16 程式碼單位。在另一份文件中,以 task,start,end 的格式將每個任務列為單獨一行,每個非空白行剛好兩個逗號,使用真實的 UTC 日期,格式為 YYYY-MM-DD,每個結束日期等於或晚於其開始日期。準備 2 到 30 行這類資料。
- 貼上資料列並產生圖表。 將準備好的行貼到時程欄位。確認沒有任何列含有額外的第三個逗號,並且每個日期剛好 10 個字元。按下「產生」按鈕。工具會執行嚴格驗證:只要有一個日期無效、某個標籤超出長度上限,或某列的逗號數量錯誤,整個請求都會被拒,而且不會繪製任何東西。成功產生後,會取代先前的結果,並撤銷任何舊的下載連結。
- 檢查每個長條與刻度,然後下載。 查看預覽,並對照標籤逐一檢查每個長條。跨度為 62 天或更短的時程會顯示日刻度;較長的時程則會切換為由確定性取樣所選出的月刻度,以維持座標軸的可讀性。當預覽與你的計畫一致時,請按「下載」。儲存的 SVG 是依據完全相同的預覽字串所建立,因此磁碟上的檔案與你檢視過的圖表逐位元組完全相同。
將儲存的 SVG 插入 Google Doc
SVG 檔案存到電腦後,請開啟需要加入時間軸的 Google Doc。將游標放在圖表應該出現的段落,然後選擇「插入 → 圖片 → 從電腦上傳」,並挑選儲存好的 SVG 檔案。Google Docs 會將上傳的 SVG 視為圖片,並以文件的自然寬度內嵌顯示。若要調整大小,請點選圖片一次、抓取角落的控制點,並在按住 Shift 的同時拖曳,以維持長條和標籤的比例。「選取項目」面板提供文繞圖選項,如「行內」、「與文字環繞」和「中斷文字」;對於夾在段落之間的專案時間軸,「行內」通常最為合適。
若之後編輯時程,請在工具中重新產生圖表,並替換 Doc 中的圖片:在插入的圖片上按右鍵、選擇「替換圖片」,再選取新的 SVG。由於座標是確定性的,只有在序列化時才會進行四捨五入,因此同一份輸入在不同日子所產生的兩份 SVG 會完全一致,替換時不會產生偏差。輸出遵循 W3C SVG 2 規範,包括固定的邏輯寬度、viewBox、可存取的 role 與 label,以及以驗證過的有限數值所構成的格線與長條,因此螢幕閱讀器和輔助工具接收到的是帶有標籤的圖片,而不是原始的形狀。
圖表會與不會追蹤的內容
此圖表描述的是日曆上的佔用情形。它會顯示哪些任務重疊、各任務以整數 UTC 天計算的執行長度,以及時程從最早的開始日延伸至最後一個包含日的範圍。它不會追蹤任務之間的相依性、不會將里程碑視為獨立的標記、不會顯示要徑、沒有工作行事曆或假日、沒有完成百分比、沒有資源容量、沒有指派人員,也不會追蹤任何形式的成本或基準。若兩個任務的日期相同,工具會繪製兩條長條;它不會判斷該工作量是否可行。針對相依性規劃、協作、權限、稽核歷程與營運承諾,請使用專案管理軟體,而非靜態的時間軸圖片。
為何瀏覽器產生的 SVG 適合 Docs 工作流程
大多數在 Google Docs 中搜尋甘特圖的讀者,是想在書面報告、會議議程、專案簡報或進度更新中加入時間軸。這些文件通常與段落和表格並列,因此圖表在列印尺寸和螢幕尺寸下都必須清晰可讀,且不依賴 JavaScript、外掛或即時資料。獨立的 SVG 正好符合此需求:它是單一檔案,具有固定的 1,100 像素邏輯寬度、可讓圖片乾淨縮放的 viewBox、供輔助工具使用的可存取 role 與 label,以及來自驗證過的有限計算的長條座標。它不需要重新整理、沒有會被阻擋的外部腳本,也沒有檔案下次開啟時呈現不同結果的風險。
由於檔案正是工具所產生的預覽字串,你可以在上傳前逐一檢查每個長條和每個刻度。若時程中某列差了一天,這個錯誤會顯示在螢幕上,而不是埋在堆疊長條範本中。當圖表與計畫一致時,只需一次點擊下載、在 Docs 選單中挑選一次上傳,圖表就會固定在原位,直到下次時程變動。對於偏好不依賴 Google Sheets 範本、以瀏覽器優先工作流程的讀者,請參閱更廣泛的指南:在 Canva 之外建立甘特圖。甘特圖製作工具在此工作流程中依然實用,因為不論時程多長,每個被接受的任務及其完整的日期範圍都會保留在圖表中,而你下載的檔案正是你在螢幕上檢視過的那個字串。
若你正在權衡各種方案,如何在 Google Sheets 中建立甘特圖對此有詳細說明。