JSON 轉 Excel 轉換器

線上把 JSON 轉成 Excel:免費、即時、私密。檔案在你的瀏覽器裡處理,不上傳伺服器。

結果

轉換後的檔案和預覽會顯示在這裡。

已準備好。選擇一個表格檔開始轉換。

轉換原理

  • 物件陣列會轉成列和欄;巢狀物件會攤平成點號欄,例如 address.city。
  • 表格會寫成單個工作表的純數值——不含公式、樣式或多個工作表。

表格檔會在你的瀏覽器本機轉換,不會上傳到 BroBroGo。

常見問題

JSON 怎麼轉成 Excel?

拖入 JSON 檔案,點擊轉換,幾秒就能下載 Excel 檔案,還附結果預覽,全程在本機完成。

檔案最大能轉多大?

單個檔案最多 8 MB、10,000 列、200 欄。資料更大時,建議先拆成小檔案。

JSON 轉 Excel 的核心機制:平展嵌套結構與點路徑命名

JSON 檔案本身允許任意深度的物件嵌套與陣列,而 Excel 試算表本質是二維表格,欄寬固定,每個儲存格只能存放一個純量值。因此,將 JSON 轉換為 XLSX 時必須套用一套固定的平展規則:物件鍵值(key)變成欄位標題,物件陣列變成資料列,巢狀物件的鍵名以點路徑展開。例如,原始 JSON 中的 address.city 會成為一個欄位名稱,其值來自 address 物件內的 city 屬性。

這種做法與 CSV 轉換不同——CSV 本身已是平面文字,無需特殊處理。而 JSON 的巢狀結構若不平展,Excel 無法直接讀取。工具只產生第一個工作表,不支援多工作表、公式或任何樣式;寫入的僅是靜態資料,不保留原 JSON 中的任何格式化資訊。

為何 JSON 轉 Excel 比 CSV 轉換更複雜:型別保留與層級攤平

CSV 把一切轉為文字字串,數字 100 與字串 "100" 在 CSV 中無區別。XLSX 格式(本質為 ZIP 壓縮的 XML 工作簿)能原生儲存數字、布林值與 null。因此,JSON 中的數字型別(如 "price": 12.5)在輸出 Excel 時會以數字儲存,而非文字;布林值 (true/false) 會以布林儲存;null 值在試算表中則顯示為空白儲存格。

但這同時帶來另一個挑戰:平展時必須決定欄位順序與遺漏值的處理。工具會根據 JSON 中第一個物件的鍵名決定欄位順序,後續物件若缺少某欄位,對應儲存格留空;若多出某欄位,則往後動態新增欄位。陣列中的陣列(array of arrays)則單純以列對應,不產生標題——這類資料通常已呈表格形狀。

輸入與輸出規格:支援的 JSON 結構與產生的 XLSX 特性

  • 輸入限制:一次只能上傳一個 JSON 檔案。JSON 必須是「表格形狀」——即一個物件陣列(array of objects)或一個陣列陣列(array of arrays)。其他形狀(如單一物件、巢狀過深的物件)會觸發錯誤訊息。
  • 輸出格式:唯一的 .xlsx 檔案。工具會顯示預覽表格、轉換後的列數與欄數,以及輸出檔案大小。
  • 型別對應(實務上遵循 XLSX 規格):
    • JSON 數字 → Excel 數字(儲存格類型 n
    • JSON 布林 → Excel 布林(儲存格類型 b
    • JSON 字串 → Excel 字串(儲存格類型 s
    • JSON null / 未定義 → 空白儲存格(無值)

邊界案例與錯誤訊息詳解

依據事實表,可能出現以下錯誤(原文引用錯誤訊息,繁體化):

  • 「請先選擇一個檔案。」(Choose one file first.)
  • 「請選擇 CSV、JSON 或 XLSX 檔案。」(Choose a CSV, JSON or XLSX file.)
  • 「此檔案過大。請使用小於 ‹max› 的檔案。」(This file is too large. Use a file under ‹max›.)
  • 「此 JSON 無效或非表格形狀。」(This JSON is invalid or not table‑shaped.)
  • 「此檔案沒有表格列。」(This file has no table rows.)
  • 「此表格超過 ‹max› 列。」(This table has more than ‹max› rows.)
  • 「此表格超過 ‹max› 欄。」(This table has more than ‹max› columns.)
  • 「轉換已取消。」(Conversion cancelled.)
  • 「此轉換耗時過長,請嘗試較小的檔案。」(This conversion is taking too long. Try a smaller file.)

其中 ‹max› 代表系統限制值,未在事實表給出確切數字,因此不可杜撰。注意最後一項錯誤是轉換逾時保護機制,並非由輸入直接導致。

誰需要這個工具:從 API 資料到試算表的實際場景

  • 資料分析師:從 API 取得巢狀 JSON(如使用者資料含 profile.addresses),需快速攤平成表格進行樞紐分析或繪圖。若不寫 Python 或 jq,直接使用此工具可在瀏覽器內完成。
  • 團隊協作者:收到 JSON 設定檔或資料匯出,但同事只會用 Excel 檢視。轉成 XLSX 後可直接寄送,不必要求對方安裝特殊工具。
  • 資料型別敏感的使用者:需保留數字與布林值以進行公式運算或條件式格式化。若轉成 CSV,所有數字都成文字,後續處理麻煩。
  • 輕量級探索:開發者想快速檢查一個 JSON 檔案的結構與樣本資料,預覽表格比閱讀原始文字直覺。

技術背景:瀏覽器端處理與 XLSX 格式簡介

轉換完全在瀏覽器端執行(client‑side),使用者檔案不會上傳至任何伺服器。這是基於 JavaScript 的 File API 與 XLSX 產生函式庫(如 SheetJS 或其他實作)。由於無後端傳輸,適合處理敏感資料,但也受限於瀏覽器記憶體——超大檔案(數十 MB 以上)可能導致逾時錯誤。

XLSX 其實是 ZIP 壓縮包,內含多個 XML 檔案(xl/sharedStrings.xmlxl/worksheets/sheet1.xml 等)。工具只寫入第一個工作表,不建立樣式、合併儲存格或公式。公式不保存,因為工具不解析或計算 JSON 中的運算式(JSON 也不含公式)。若原 JSON 中有字串形如 =SUM(A1:A10),在 Excel 開啟時仍會當作文字,不會自動轉換為公式——這是刻意設計,避免注入攻擊。

常見問答

Q: 我的 JSON 裡面有陣列陣列(array of arrays),轉換結果會是什麼?
A: 工具會直接將每個內部陣列視為一列資料,不產生欄位標題。例如 [,] 會變成兩列兩欄的表格,第一列為 1 與 2,第二列為 3 與 4。

Q: 巢狀物件裡的 key 名稱包含點(例如 "user.name"),平展後會不會混淆?
A: 會。工具以點作為分隔符,若原始 key 已包含點(例如 "user.name": "Alice"),平展後會變成 user.name 這樣一個欄位;若巢狀結構也有 user 物件內含 name,兩者欄位名稱會衝突。實務上建議先清理 JSON 中的 key 名稱。

Q: 為什麼轉出來的 Excel 裡面空白的儲存格不一定是 null?
A: 工具遇到 JSON 中的 null 值會寫入空白儲存格。若原欄位不存在(某些物件缺少該 key),同樣也是空白。因此在 Excel 中無法區分「明確的 null」與「缺少欄位」。這是平面表格的本質限制。

Q: 能否一次轉換多個 JSON 檔案?
A: 只支援一次選一個檔案。若需合併多個 JSON 為同一工作表,需先自行合併為單一陣列後再上傳。

Q: 轉換後能否保留 JSON 中的日期字串為 Excel 日期格式?
A: 不能。工具不解析日期字串,所有字串均以文字形式寫入。若需日期格式,需在 Excel 中手動設定儲存格格式或使用函數轉換。