什麼是 Excel 轉 CSV 工具
這個工具讓你上傳一個 Excel XLSX 檔案,然後下載一份純文字的 CSV 檔案。程式只讀取第一個工作表中的可見值,讓你選擇分隔符號(逗號、分號或定位點),最後產生可下載的 CSV。所有處理都在瀏覽器端進行,檔案不會離開你的機器。
XLSX 與 CSV 的根本差異
XLSX 本質上是壓縮的 XML 活頁簿,可以儲存多個工作表、公式、資料型別(數字、日期、布林值)、顏色、字型與合併儲存格。CSV 則是最簡單的純文字表格:只有欄與列,沒有任何格式或型別資訊。因此,從 XLSX 轉 CSV 是一個有損轉換——你必須清楚哪些資訊會消失:
- 公式:只保留最後一次儲存時的計算結果,公式本身被丟棄。
- 資料型別:數字、日期、貨幣全部變成純文字,CSV 不認識「這是日期」。
- 格式:顏色、字型、框線、合併儲存格全部不見。
- 多個工作表:工具只轉換第一個工作表,其餘工作表被忽略。
- 巢狀資料:CSV 無法表達階層,如果你的 Excel 有一個欄位包含多個數值(例如用逗號分隔的標籤),你必須事先把這些資料展開成獨立欄位,或用文字字串表示。
轉換時的資料流失與邊界案例
前導零與文字型數字
如果 Excel 儲存格中輸入 00123,Excel 預設把它當作數字,只保留 123。轉換成 CSV 後前導零就消失了。如果原始資料是「文字」格式(儲存格左上角有綠色三角形),則 00123 會以文字方式保留,CSV 中會出現 00123。轉換前請檢查原始資料的儲存格格式,必要時先將數字欄位改成文字儲存格。
內嵌逗號、換行與引號
當你選擇「逗號」作為分隔符號,且資料中剛好包含逗號(例如 "Apple, Inc."),CSV 規範要求用雙引號將整個欄位包起來:"Apple, Inc."。如果資料中包含換行,同樣會被包在引號內。這個工具會自動加上標準的雙引號,但你仍應在轉換後檢查結果,因為某些老舊系統可能無法正確解析這類 CSV。
巢狀資料必須預先扁平化
CSV 沒有巢狀結構。如果你的 Excel 有一個欄位是「地址」,裡面包含街道、城市、郵遞區號,請在轉換前將這些拆成獨立欄位(例如「地址_街道」、「地址_城市」),否則 CSV 中只會有一個長字串,後續處理會很麻煩。
分隔符號的選擇
工具讓你選三種分隔符號:逗號 (,)、分號 (;) 與定位點 (\t)。選擇哪一種取決於你的目標系統:
- 逗號:最通用的標準,但在歐洲某些地區,逗號是千位分隔符或小數點,因此當地軟體常使用分號。
- 分號:如果資料中大量使用逗號(例如金額或地址),用分號可以減少需要引號的情況。
- 定位點:匯入試算表軟體時常用,因為很少在資料中出現定位點。
一般建議:先確認你後續要匯入的資料庫、統計軟體或程式語言預期哪種分隔符號。如果不確定,先選逗號並注意觀察資料中是否包含逗號。
輸出結果與錯誤訊息
轉換完成後,工具會顯示行數、欄數與輸出檔案大小。你可以預覽轉換後的表格,確認欄位是否對齊。
常見的錯誤訊息(僅列出與 XLSX 輸入相關者):
| 錯誤訊息 | 原因 |
|---|---|
| 「Choose one file first.」 | 未選擇檔案 |
| 「Choose a CSV, JSON or XLSX file.」 | 上傳了不支援的格式 |
| 「This file is too large. Use a file under ‹max›.」 | 超過檔案大小上限 |
| 「This Excel file could not be opened.」 | Excel 檔損毀或格式異常 |
| 「This file has no table rows.」 | 第一個工作表沒有任何資料行 |
| 「This table has more than ‹max› rows.」 | 超過行數上限 |
| 「This table has more than ‹max› columns.」 | 超過欄數上限 |
| 「Conversion cancelled.」 | 使用者中斷轉換 |
| 「This conversion is taking too long. Try a smaller file.」 | 超過處理時間上限 |
如果收到「無法開啟 Excel 檔案」,可能是檔案本身已損壞、使用了加密或僅限特定軟體才能開啟的格式(例如.xlsb)。建議先用 Excel 本身開啟並另存成普通的.xlsx 再試一次。
常見問題 FAQ
1. 為什麼只轉換第一個工作表?其他工作表怎麼辦?
因為 CSV 只能表示一個平面表格。如果你的 Excel 有多個工作表,你必須先將需要的資料合併到一個工作表,或逐個工作表轉換。工具不支援選擇工作表,這是刻意簡化的設計。
2. 公式的計算結果為什麼和我在 Excel 看到的不一樣?
工具讀取的是最後儲存時的可見值,而不是重新計算公式。這表示如果你有使用 TODAY() 或 RAND() 之類的動態函數,結果會保留儲存檔案那一刻的數值,並非當下的值。請在轉換前先重新計算並儲存一次。
3. 前導零不見了,該怎麼處理?
在 Excel 中將該欄位的儲存格格式設定為「文字」(選取欄位 → 右鍵 → 儲存格格式 → 類別選「文字」),然後重新輸入資料。或者使用 TEXT 函數將數字轉成文字,例如 =TEXT(A1,"00000"),再複製成值。
4. CSV 裡面出現多餘的雙引號,正常嗎?
正常。如果資料包含分隔符號(例如逗號)或換行,CSV 標準要求整個欄位用雙引號包住。這是標準行為。如果你的系統不喜歡引號,可以改用分號或定位點作為分隔符號。
5. 這個工具安全嗎?我的資料會上傳到伺服器嗎?
完全安全。所有轉換都在你的瀏覽器中執行,檔案從頭到尾沒有離開你的電腦。沒有後端伺服器接收你的資料,適合處理包含個人識別資訊或商業敏感的 Excel 檔案。
6. 可以轉換.xls 或.xlsm 嗎?
工具接受的輸入格式為 CSV、JSON 或 XLSX。舊版的.xls 或啟用巨集的.xlsm 不被支援。請先用 Excel 將其另存為.xlsx 再上傳。