當解析器讀取每一列以逗號分隔的資料、遵守能讓逗號和換行保留在儲存格內的引號規則,並將值寫入實際 .xlsx 活頁簿的工作表時,CSV 就會變成 Excel 表格。當解析器在瀏覽器分頁中執行,而非在遠端伺服器上執行時,轉換過程是在本地完成,因此來源檔案永遠不會離開這台機器。若要將 CSV 轉換為 Excel 表格,請貼上 CSV 文字,或選擇不超過 500 KB 的本地 .csv 檔案,點擊 Convert to Excel,然後下載產生的活頁簿 —— 來源 CSV 不會被覆寫、保留或分享。輸入中的每一列都會成為單一工作表上的一列,工作表命名為 CSV data,而 CSV 的第一列會如實對應到工作表的第一列。文字值(包括以 =、+、- 或 @ 開頭的字串)會以文字儲存格的形式寫入,因此瀏覽器在建立檔案時絕不會將它們視為試算表公式來求值。

轉換器實際上做了什麼
CSV to Excel Converter 接收一個有界線的逗號分隔表格,在本地進行解析,並產生任何現代的試算表程式都能開啟的 OOXML .xlsx ZIP 套件。輸出是一個只有一個工作表的活頁簿,其工作表命名為 CSV data,輸入的第一列會保留為工作表的第一列。這裡沒有標題推斷、沒有結構描述偵測,也不會嘗試為欄位加上標籤;如果您希望活頁簿中包含標題列,請將它放在 CSV 的第一列。
由於解析是在目前的瀏覽器分頁中執行,來源 CSV 永遠不會被上傳、記錄或傳送到遠端 API。建立活頁簿的步驟會在使用者點擊 Convert to Excel 時才動態載入 SheetJS 核心,訪客所輸入的值會以一般儲存格的形式寫入,不會執行公式。巨集、外部連結、嵌入的指令碼、遠端資料連線和圖表物件都不會產生;其結果是一份可以在目的地程式中逐格稽核的純資料匯出檔。
如何將 CSV 轉換為 Excel 表格
- 在瀏覽器中開啟 CSV to Excel Converter,將 CSV 文字貼到輸入區,或選擇一個不超過 500 KB 的本地 .csv 檔案。
- 檢查預覽:確認標題列看起來正確,並確認任何位於引號欄位內的逗號或換行都以單一欄位值呈現。
- 點擊 Convert to Excel。瀏覽器會解析各列資料、強制執行引號規則,若某一列長度不一致或引號未閉合,則會以清楚的錯誤訊息停止。
- 下載工具提供的 .xlsx 活頁簿。將它存到您之後可以再次找到的地方 —— 原始 CSV 不會受到影響。
- 在目的地的試算表程式(Microsoft Excel、Google Sheets、LibreOffice Calc、Numbers 或其他讀取器)中開啟下載的 .xlsx 一次,以驗證列數、標題以及部分範例值。
表格保留的 CSV 規則,以及它捨棄的部分
CSV 有一條精確的引號規則,在您的資料包含逗號、引號或換行的當下就會產生影響。位於引號欄位內的逗號是資料的一部分,而不是新的一欄。雙引號 ("") 代表一個字面上的引號。引號欄位內可以包含換行,因此單一筆 CSV 紀錄可以橫跨多個實際行,而不會被拆分成兩列。轉換器接受 CRLF、LF 和 CR 三種記錄結尾,因此 Windows、Unix 和傳統 Mac 的行尾都能以相同方式解析,無需預先處理。
CSV 不承載的內容同樣重要。它沒有型別、沒有欄寬、沒有色彩、沒有合併儲存格、沒有圖表、沒有註解、沒有驗證規則、沒有篩選,也沒有列印版面配置。轉換器刻意不會去推斷日期、識別碼、貨幣、地區慣例或任何商業結構描述。看起來像日期的字串仍會保持為文字,除非您在目的地的儲存格中自行設定格式;而以 0 為首的識別碼(美國郵遞區號、帳號、產品 SKU)若首位的 0 具有意義,則應在 CSV 中保持為文字。試算表程式在開啟 .xlsx 時可能會套用它自己的地區格式化設定,因此在將活頁簿視為權威檔案之前,請在目的地系統中驗證有意義的樣本資料。
有兩項安全特性值得特別強調。第一,每一列 CSV 必須具有相同數量的欄位;長度不一致的紀錄會被拒絕,而不是被猜測。第二,以 =、+、- 或 @ 開頭的文字值會以文字儲存格的形式寫入,因此瀏覽器在轉換過程中絕不會將它們視為試算表公式來求值。如果您需要在活頁簿中具有公式行為,請在目的地程式中開啟 .xlsx 之後再自行加入。
會停止轉換的硬性限制
轉換器強制實施一組小型限制,以保護瀏覽器並讓失敗情況清楚可見。當超出限制或違反 CSV 語法規則時,瀏覽器會停止並回報錯誤,而不會寫入任何活頁簿 —— 它絕不會靜悄悄地捨棄某一列、修剪某一欄,或輸出不完整的檔案。確切的限制如下:
| 限制 | 上限 | 超出時會發生什麼 |
|---|---|---|
| 輸入大小 | 500 KB | 輸入會被拒絕 |
| 資料列數 | 10,000 | 解析器停止並回報錯誤 |
| 每列欄數 | 200 | 長度不一致的紀錄或過寬的列會被拒絕 |
| 總儲存格數 | 200,000 | 不會建立活頁簿;使用者可以自行拆分來源 |
| CSV 語法 | 僅限 RFC 風格 | 未閉合的引號,或閉合引號後格式錯誤的欄位會被拒絕 |
如果您的輸入過大,實際可行的作法是在上游拆分 CSV(透過資料庫匯出、shell 切割或一個小腳本),分別轉換每個區段,然後在目的地的試算表中合併產生的活頁簿,如果您需要單一檔案的話。
在分享 .xlsx 之前進行驗證
一個可靠的工作流程是小型、可預測且易於重複的。從您手邊最小的相關 CSV 開始,開啟預覽文字,並確認標題列以及前幾個引號欄位看起來正確。建立活頁簿、開啟下載的 .xlsx 一次,並抽樣檢查列數、標題標籤,以及包含引號內逗號或換行的範例值。如果您發現應該保持為文字的值(例如以 0 開頭的美國郵遞區號),請將原始 CSV 與活頁簿保存在一起,並在目的地程式中決定是否將該欄格式化為文字。
由於轉換器不會執行巨集、外部連結、嵌入的指令碼、公式或遠端資料連線,因此輸出刻意是一份純資料匯出檔。權衡之下,您無法免費獲得顯示格式。當欄寬、色彩、合併儲存格、圖表、註解、驗證規則、篩選或列印版面配置等區別很重要時,請保留來源 CSV —— 這些是活頁簿層級的屬性,而非 CSV 層級的屬性,如有需要必須在目的地程式中重新套用。
轉換器不適用的情境
這個轉換器只做一件事:將一份格式正確的 CSV 表格,在瀏覽器中轉換成一個可下載的 .xlsx 活頁簿。它不會合併多個 CSV 檔案、不會修復損壞的 CSV、不會從第一列推斷欄位標籤、不會驗證個人資料、不會產生公式,也不會轉換舊版的試算表格式。如果您需要反向操作 —— 將 .xlsx 工作表轉換為 CSV —— 反向工作流程是一份具有不同規則的獨立指南。
隱私、引號與公式安全性
當讀者將這個轉換器與遠端服務比較時,有三項特性會反覆出現。CSV 不會被上傳 —— 解析與活頁簿建立都發生在目前的瀏覽器分頁中,該檔案不會被保留或分享給 Lizely。引號內的逗號與引號內的換行會保留為單一儲存格的一部分,因此像 "Smith, John","line 1line 2",42 這樣的 CSV 片段會成為包含三個儲存格的一列,而不是五個或七個。以 =、+、- 或 @ 開頭的文字會以文字儲存格的形式寫入,不會被轉換器當作公式執行;如果您需要公式行為,請在目的地程式中開啟 .xlsx 之後再自行加入。這三項特性共同賦予轉換器一個狹窄且誠實的契約:輸入一份格式正確的 CSV,輸出一份可稽核的 .xlsx 活頁簿,中間沒有任何隱藏的求值步驟。
如果您正在權衡各種選項,CSV to HTML Table in Shell: Why It Breaks and a Safer Way對此有詳細說明。