Excel to Class 轉換器

Excel 匯入

點擊或拖放 Excel 檔案到這裡

支援 .xlsx, .xls 格式

JSON 資料

設定

已複製到剪貼簿

為什麼要把 Excel 轉成 Class

在遊戲開發、企業內部系統與 App 專案中,大量的設定值常常由企劃或營運人員用 Excel 維護——關卡數值、商品清單、文案對照表、費率表。工程師則需要在程式裡以型別安全的方式取用這些資料。

中間這段轉換若靠手工,欄位一多就容易出錯:漏一個欄位、型別打錯、命名不一致,而且每次企劃改表格就要重做一次。這個工具把這段機械性的工作自動化,讀取 Excel 的標題列與資料列,推論每個欄位的型別,直接產生對應語言的類別程式碼。

型別推論是怎麼判斷的

工具會掃描每個欄位的資料列,依下列順序判斷:

推論結果可以在介面上手動覆寫。這很重要,因為有幾種情況機器判斷不出來:

要留意的三種欄位

  • 編號類欄位:訂單號、會員編號、商品條碼看起來是數字,但通常應該存成 string。它們不會拿來做算術,而且可能有前導零(007 轉成 int 會變成 7),超過 15 位數還會失去精度。
  • 金額欄位:涉及金錢計算時,double 的浮點誤差會累積。多數語言建議改用 decimal 型別,或以「最小單位的整數」儲存(例如以「分」為單位存成 int)。
  • 空白欄位:某幾列留空時,該欄位在程式中應該是可為 null 的型別。產生程式碼後記得依語言慣例補上(Swift 的 ?、Kotlin 的 ?、C# 的 ?)。

各語言的型別對應

推論型別 Swift Kotlin Java C# Objective-C
stringStringStringStringstringNSString *
intIntIntIntegerintNSInteger
doubleDoubleDoubleDoubledoubledouble
boolBoolBooleanBooleanboolBOOL

Java 產出的是 Integer、Double、Boolean 這類包裝型別而非 int、double 基本型別。這是刻意的——包裝型別可以是 null,能正確表達「這個欄位在資料中缺值」,基本型別則會被迫給一個例如 0 的預設值,容易混淆「真的是 0」與「沒有資料」。

Excel 表格怎麼排才好轉

工具能處理的表格結構愈單純,產出的程式碼品質愈好。幾個實務建議:

巢狀結構與陣列

Excel 是二維表格,天生不擅長表達巢狀資料。若你的資料有階層關係(例如一個角色有多個技能),有兩種常見做法:

產生程式碼之後還要做什麼

產出的類別是起點而非終點,通常還需要幾個步驟:

  1. 補上序列化標註。若欄位名與 JSON 鍵名不同,Swift 需要 CodingKeys、Kotlin 需要 @SerialName、C# 需要 [JsonPropertyName]。
  2. 調整可為 null 的欄位,避免解析時因缺值而崩潰。
  3. 檢查命名慣例。Excel 常用 snake_case,而 Swift、Kotlin、C# 慣用 camelCase 或 PascalCase。
  4. 把產生的檔案納入版本控制,並在 Excel 更新時重新產生,讓程式碼與資料來源保持同步。

你的檔案不會被上傳

Excel 檔案是由瀏覽器在本機讀取與解析的,檔案本身不會傳送到任何伺服器。用於解析的 SheetJS 函式庫程式碼由 CDN 載入,但你的檔案內容不會傳給該 CDN。

這代表即使表格中含有未公開的營運數值、價目表或客戶資料,也可以安心使用。完整說明請見隱私權政策。