# 策展 · X (Twitter) 🔥

> 作者：Wind (@productdevbook) · 平台：X (Twitter) · 日期：2026-03-30

> 原始來源：https://x.com/productdevbook/status/2038308750767849559

## 中文摘要

Hucre 是一個純 TypeScript 開發的試算表處理引擎，聲稱不依賴任何第三方套件。它能讀寫 XLSX、CSV、ODS 格式，支援 Schema 驗證、串流處理和往返保留（round-trip preservation），設計目標是在各種執行環境中都能運作。

**核心功能與格式支援**

Hucre 支援的讀寫操作涵蓋：
- XLSX：支援多種儲存格型別（字串、數字、布林值、日期、公式、富文本、內聯字串、錯誤值），並能解析儲存格樣式、合併儲存格、凍結面板、自動篩選、資料驗證、超連結、圖片（PNG/JPEG/GIF/SVG/WebP）、註解、表格、條件式格式、具名範圍、列印設定、分頁符、工作表/工作簿保護、樣式、共用/陣列/動態公式、迷你圖、文字方塊、背景圖片。
- CSV：RFC 4180 相容，支援分隔符自動偵測，型別推論。
- ODS：OpenDocument Spreadsheet 格式。

**效能與依賴對比**

Hucre 與主要競品的差異：

| 項目 | Hucre | SheetJS | ExcelJS | read-excel-file |
|------|-------|---------|---------|-----------------|
| 依賴數 | 0 | 0* | 12 (存在 CVE) | 2 |
| 套件大小 (gzip) | ~18 KB | ~300 KB | ~500 KB | ~40 KB |
| ESM 原生支援 | 是 | 部分 | 否 (CJS) | 是 |
| TypeScript | 原生 | 後行加入 | 後行加入 | 是 |
| Edge 執行時 | 是 | 否 | 否 | 否 |
| CSP 相容 | 是 | 是 | 否 (eval) | 是 |
| NPM 發佈 | 是 | 否 (CDN only) | 已過時 | 是 |
| 讀+寫 | 是 | 是 (Pro $) | 是 | 分開套件 |

*SheetJS 已自 npm 移除，需透過 CDN tarball 安裝。

**串流與大型檔案處理**

Hucre 提供非同步生成器實現的串流讀取，能逐列處理大型檔案而不需一次載入整個檔案到記憶。串流寫入方面，使用 `XlsxStreamWriter` 類別可逐列遞增寫入資料，例如產生 100,000 列資料無需同時在記憶中持有全部內容。

**往返保留與修改**

透過 `openXlsx()` 和 `saveXlsx()` API，使用者可開啟現有 XLSX 檔案、修改資料後儲存，同時保留圖表、VBA 巨集、主題等 Hucre 不主動處理的功能，避免資料遺失。

**Schema 驗證與資料型別強制轉換**

Schema 驗證功能支援型別強制轉換、正規表達式模式匹配、列舉值驗證、最小最大值約束、預設值設定、自訂驗證器與轉換函式。驗證結果包含驗證過的物件陣列與錯誤清單（行號、欄位、錯誤訊息、原始值）。

**輸出格式與工具**

除了讀寫電子表格格式，Hucre 還提供：
- HTML/Markdown 輸出（表格含樣式、無障礙屬性、深淺色 CSS）。
- JSON 匯出（物件、陣列、欄位模式）。
- CLI 工具（convert、inspect、validate）。
- Fluent API Builder（流暢方法鏈語法）。
- Template Engine（以 `{{placeholder}}` 填充現有範本）。
- 數字格式渲染器（支援地區設定）。

**跨平台支援**

Hucre 核心程式碼不使用 Node.js 專屬 API（fs、crypto、Buffer），因此在 Node.js 18+、Deno、Bun、現代瀏覽器、Cloudflare Workers、Vercel Edge Functions、Web Workers 都能正常運作。其 ZIP 引擎為零依賴的 DEFLATE/inflate 壓縮與 ZIP 讀寫實作。

**實現完成度**

專案追蹤 135 項功能中的 127 項已實現。未來規劃（v2 路線圖）包括 XLS BIFF、加密、圖表、樞紐分析表等功能。

## 標籤

開源專案, Web, Office, Excel, Hucre
