表格轉 Markdown 工具怎麼用
把表格貼進本頁最上方的輸入框,步驟就結束了。沒有格式下拉選單可以選錯,也沒有匯入精靈要一步步點,因為轉換器會直接讀那段文字,自行判斷那是什麼。
- 不論貼的是試算表複製的內容、CSV 文字或 HTML
<table>,格式都由工具自動判斷。 - 第一列自動成為標題列,下方那條對齊用的分隔列也會一併寫好。
- 數字欄只需要一次手動調整:把分隔格改成
---:,個位數就會靠右對齊。 - 全程在你自己的分頁裡執行,客戶名單或內部預算表都不會被上傳。
輸入格式是怎麼判斷的
判斷規則只有三條,而且照順序檢查。文字裡含有 <table> 元素,就當成標記語言解析,從 <tr> 與 <td> 讀出每一格。文字裡含有定位字元(Tab),就視為 TSV,也就是你在 Excel、Numbers 或 Google 試算表複製儲存格時,剪貼簿實際帶著的格式。
其餘情況一律落到逗號這條規則,並尊重 CSV 的引號寫法。所以像 "台北, 台灣" 這種值會留在同一格,不會被切成兩格。
轉換器會替你補上什麼
第一列會成為表格的標題列。標題列下面補的是分隔列,也就是那條由連字號與冒號組成、讓一堆管線符號變成真正表格的關鍵。每一欄預設寫成 :--- 靠左。儲存格還會補空白到一致寬度,這在瀏覽器裡看不出差別,但程式碼審查時原始檔會好讀很多。
拿到結果之後貼到哪裡
把輸出貼進 README、GitHub issue、wiki 頁面或 Discord 訊息都可以。你也可以貼進首頁的 Markdown 編輯器,繼續把整份文件寫完。其他 Markdown 工具做法一樣,都在同一個分頁裡跑,不會把內容送到伺服器。
小提醒:先修資料,再做轉換。回試算表改一格再貼一次只要幾秒;補過空白的 Markdown 表格用手改就沒那麼輕鬆了。
從 HTML 表格到 Markdown:完整範例
假設你正要把一個頁面從舊的 CMS 搬進程式碼倉庫。你打開原始碼、把表格那一段複製下來,剪貼簿裡的內容長這樣:
<table>
<thead>
<tr><th>Team</th><th>Lead</th><th>Headcount</th></tr>
</thead>
<tbody>
<tr><td>R&D</td><td>Mei Lin</td><td>42</td></tr>
<tr><td>Support</td><td>Dave Okoro</td><td>18</td></tr>
<tr><td>Sales & Marketing</td><td>Ana Ruiz</td><td>7</td></tr>
</tbody>
</table>
貼進轉換器之後,拿到的 Markdown 完全是這樣:
| Team | Lead | Headcount |
| :---------------- | :--------- | :-------- |
| R&D | Mei Lin | 42 |
| Support | Dave Okoro | 18 |
| Sales & Marketing | Ana Ruiz | 7 |
從輸入跳到這個結果的過程中,工具替你做了三個決定,每一個都值得說清楚。
轉換器默默做掉的三件事
<thead>那一列成了 Markdown 的標題列,下面自動補上分隔列,正是手寫時最惱人的部分。- HTML 實體
&被還原成單純的&,因為 Markdown 是純文字,用不到實體編碼。 - 每一欄都補空白到相同寬度。渲染時會忽略這些空白,但看 diff 的同事會很感謝你。
整趟流程只有四步
- 從開始標籤到結束標籤,複製完整的
<table>元素。 - 貼進本頁最上方的輸入框。
- 把
Headcount的分隔格從:--------改成--------:,因為那一欄放的是數字。 - 複製產生的 Markdown,貼進你的檔案。
第三步是整趟流程唯一需要動手的地方。想先確認結果,就把整段貼進編輯器:即時預覽會在它進入倉庫之前,先證明表格渲染得出來。
各種來源實際上貼出什麼
「複製表格」這句話,從不同地方複製的意思其實差很多,而這個差異決定了轉換是乾淨俐落還是要收拾殘局。
逐一來源:剪貼簿裡到底是什麼
以下是大家最常複製的來源、每一種實際交出的內容,以及各自最容易讓人踩雷的細節。
| 複製來源 | 剪貼簿實際內容 | 會判定為 | 要注意的地方 |
|---|---|---|---|
| Microsoft Excel | 以 Tab 分隔,一列一行 | TSV | 含換行的儲存格會被加上雙引號包起來 |
| Google 試算表 | 以 Tab 分隔的純文字 | TSV | 合併儲存格會貼成空格,造成各列長度不一 |
| Apple Numbers | 以 Tab 分隔的純文字 | TSV | 貨幣與百分比格式會變成文字,例如 NT$1,200 |
| LibreOffice Calc | 以 Tab 分隔的列 | TSV | 公式貼出來的是計算結果,不是公式本身 |
| 文字編輯器裡的 .csv 檔 | 逗號分隔、必要時加引號 | CSV | 歐洲語系匯出的分號分隔檔不算 CSV |
| 網頁原始碼或開發者工具 | 原始的 <table> 標記 | HTML | 要複製完整元素,不能只複製零散的 <tr> |
| 網頁上已渲染的表格 | 被瀏覽器攤平成 Tab 分隔文字 | TSV | 儲存格裡的連結與粗體會在攤平時消失 |
| Notion 資料庫檢視 | 以 Tab 分隔的文字 | TSV | 多選欄位會把值用逗號串在一起 |
| Word 或 Google 文件的表格 | 以 Tab 分隔的文字 | TSV | 結尾的空儲存格可能多生出一個幽靈欄 |
| PDF 裡的表格 | 逐行文字,完全沒有分隔符號 | 都不是 | 先在試算表裡重建,再從試算表複製 |
為什麼試算表是最好的中繼站
最後一欄其實藏著一個規律:貼得乾淨的來源都是試算表,會出狀況的則都是「看起來像格線、其實不是」的東西。所以某個來源怎麼貼都不對時,先丟進 Excel 或 Google 試算表把欄位整理好,再從那裡複製到本轉換器。多按一次貼上,還是遠比重打三十列快。
注意:PDF 是唯一一種結構已經救不回來的來源。它的文字是逐行送出、完全沒有分隔符號,任何轉換器都猜不出原本的欄位在哪裡。
轉換器還是產生器:你要的是哪一個?
這一頁與 Markdown 表格產生器是完全相反的兩件事,選錯會白白多花幾分鐘。只要問一個問題就能分辨:資料已經存在了嗎?
資料在別的地方,就用轉換
手上已經有試算表、匯出檔、CSV 或一段 HTML 時,用這一頁。這是翻譯工作而不是創作,你不該重打任何一格。格式判斷、標題列與分隔列都由工具處理掉。
表格還不存在,就用產生
內容要邊想邊填時,用表格產生器:小型比較表、價目表、參數對照表都屬於這一類。它給你一張空格線,每一欄還有自己的對齊按鈕,比在純文字框裡跟管線符號搏鬥輕鬆得多。
小提醒:選得起來、複製得下來的,就用轉換;要自己想出來的,就用產生。這條規則每次都能決定答案。
三行 CSV 的實際結果
一個小例子就看得出這個方向有多省事。輸入這樣的內容:
Region,Q1,Q2
North,1420,1655
South,980,1130
立刻就會拿到這樣的結果:
| Region | Q1 | Q2 |
| :----- | :--- | :--- |
| North | 1420 | 1655 |
| South | 980 | 1130 |
如果你想真正弄懂語法而不只是產生它,Markdown 表格指南完整說明對齊、跳脫與儲存格內容,如何在 Markdown 中製作表格則給你最精簡的答案。表格從來不屬於原始的 Markdown,而是隨 GitHub 風格 Markdown 一起出現的,這也是為什麼沒有啟用擴充的嚴格 CommonMark 解析器,會把你的表格當成純文字原樣顯示。
常見問題與修法
幾乎所有失敗的轉換都逃不出四種情況,而且每一種都有看得見的症狀。從畫面上看到的現象往回推最快。
某一列被切成太多欄
幾乎都是資料裡混進了管線符號。| 正是欄位分隔符號,所以內容為 a | b 的儲存格會變成兩格。把它跳脫成 \| 就好:
| Pattern | Meaning |
| :------- | :------------- |
| cat|dog | 這一列會壞掉 |
| cat\|dog | 正確的跳脫寫法 |
逗號在 CSV 裡會造成一樣的麻煩。台北, 台灣,2.6M 是三個欄位,"台北, 台灣",2.6M 才是兩個。請重新匯出並啟用引號,或改從試算表以 Tab 分隔的方式貼上,那樣根本不會發生這件事。
貼上 HTML 卻沒有任何輸出
先確認你複製的是含結束標籤的完整 <table> 元素。只從 <tr> 開始的片段,解析器根本找不到表格。從渲染後的網頁而不是原始碼複製也可以,只是那段文字已經被攤平,會被判定成 TSV。
列的形狀不對
- 各列長度不一。合併儲存格與長短不齊的匯出檔,會產生比標題列少幾格的資料列。多數解析器不會替你猜,而是乾脆拒絕渲染,請用空儲存格補齊,讓每一列的管線符號數量一致。
- 儲存格裡有換行。Markdown 的表格列必須待在同一行,請把換行改成
<br>。 - 儲存格需要好幾段文字、清單或程式碼區塊。那份內容已經不適合放進表格,改用有小標題的段落比較好,這個取捨在 Markdown 與 HTML 比較裡有完整討論。
輸出變成一整片夾著管線符號的文字
不是分隔列不見了,就是表格與上一段之間少了空白行。把整塊丟進 Markdown 檢視器確認語法無誤,再去懷疑目的地平台。也要記得太寬的表格在存成 PDF 時右側會被裁掉。整份文件的雙向轉換,則交給 HTML 轉 Markdown 與 Markdown 轉 HTML。
相容性資料驗證日期
常見問題
怎麼把 Excel 表格轉成 Markdown?
在 Excel 裡選取儲存格、複製,然後貼進本頁最上方的輸入框。剪貼簿帶的是以定位字元分隔的資料,轉換器會自動辨識,並輸出含標題列與對齊列的 Markdown 表格。Google 試算表與 Apple Numbers 的行為完全相同。
可以把 HTML 表格轉成 Markdown 嗎?
可以。貼上含結束標籤的完整 <table> 元素,工具會從每一列讀出儲存格內容,並把 & 之類的 HTML 實體還原成一般字元。如果你要轉的是整份 HTML 文件而不只是一個表格,請改用 HTML 轉 Markdown 工具。
支援 CSV 檔嗎?
支援。把檔案內容貼上即可,工具會以逗號作為分隔符號,並尊重引號包住的欄位,所以值裡面的逗號不會把儲存格切開。以分號分隔的匯出檔不會被判定為 CSV,請先把分隔符號改成逗號或 Tab 再貼上。
這和 Markdown 表格產生器有什麼不同?
這一頁轉換你已經有的表格;表格產生器則是在可編輯的格線裡從零建立新表格,並提供逐欄的對齊控制。已有資料就用轉換,還沒有表格就用產生。
我的資料會被上傳嗎?
不會。轉換完全在你的瀏覽器裡以 JavaScript 執行,不會傳送到伺服器,也不會被儲存或記錄。因此內部試算表、客戶名單這類你不會隨便貼到陌生網站的資料,在這裡都是安全的。
延伸閱讀
立即使用編輯器
開啟編輯器