
XLSX Engine
Spreadsheets with native charts, formulas, and workbook structure.
Open real dashboards, budgets, pipelines, directories, timelines, models, inventory sheets, and surveys generated from JSON. The test here is whether the workbook behaves like Excel output, not whether a spreadsheet-shaped file exists.
[00] Examples
Download ready-made workbooks.
Eight production-quality XLSX examples — SaaS dashboards, budgets, pipelines, directories, timelines, financial models, inventory, and survey results. Download any of them to see what PaperJSX generates.
SaaS Metrics Dashboard
3 sheetsA complete SaaS metrics workbook with KPI summary, monthly trends, and chart visualizations. Tracks MRR, ARR, churn, LTV, CAC, and customer count with conditional formatting and cross-sheet formulas.
| Metric | Current | YoY Change | Status |
|---|---|---|---|
| MRR | $264,000 | +78% | On Track |
| ARR | $3,168,000 | +78% | On Track |
| Churn | 1.2% | -57% | Monitor |
| LTV | $18,400 | +34% | On Track |
| CAC | $2,100 | -12% | On Track |
| Customers | 872 | +42% | On Track |
{"meta": { "title": "SaaS Metrics Dashboard" },"sheets": [{"name": "Summary","freezePane": { "row": 3 },"rows": [{ "cells": [{ "value": "Metric", "style": { "preset": "header" } },{ "value": "Current", "style": { "preset": "header" } },{ "value": "YoY Change", "style": { "preset": "header" } }] },{ "cells": [{ "value": "MRR" },{ "formula": "'Monthly Data'!B13", "style": { "preset": "currency" } },{ "formula": "(B2-B14)/B14", "style": { "preset": "percentageChange" } }] }],"conditionalFormatting": [{ "ref": "C2:C7", "rules": [{ "type": "cellIs", "operator": "greaterThan", "formula": "0" }] }]},{ "name": "Monthly Data", "tables": [{ "name": "MonthlyMetrics", "ref": "A1:G13" }] },{ "name": "Charts", "charts": [{ "type": "col", "title": "Monthly Revenue" }] }]}
- 3 worksheets with cross-sheet references
- KPI summary with conditional formatting
- Monthly data table with auto-filter
- 4 chart types (column, line, pie, scatter)
- 17 built-in style presets applied
- Formula builder with SUM, VLOOKUP, IF
Temporary npm note:@paperjsx/json-to-xlsx is being republished to fix a package-manifest issue.Use the sample download above or the MCP server while the republish lands.
[01] JSON to spreadsheet
One payload. One native workbook.
Define sheets, cells, formulas, charts, and styles in a single JSON document. PaperJSX compiles it into a native .xlsx file — no ExcelJS, no OpenXML SDK, no coordinate math.
{"meta": {"title": "SaaS Metrics Dashboard","creator": "Meridian Labs","company": "Meridian Labs Inc."},"sheets": [{"name": "Summary","freezePane": { "row": 3 },"columns": [{ "width": 18 }, { "width": 14 },{ "width": 12 }, { "width": 14 }],"rows": [{"cells": [{"value": "Metric","style": { "preset": "header" }},{"value": "Current","style": { "preset": "header" }},{"value": "YoY Δ","style": { "preset": "header" }}]},{"cells": [{ "value": "MRR" },{"formula": "'Monthly Data'!B13","style": { "preset": "currency" }},{"formula": "(B2-B14)/B14","style": { "preset": "percentageChange" }}]}],"conditionalFormatting": [{"ref": "C2:C7","rules": [{"type": "cellIs","operator": "greaterThan","formula": "0","style": {"font": { "color": "#006100" },"fill": { "color": "#C6EFCE" }}}]}]},{"name": "Monthly Data","autoFilter": true,"tables": [{"name": "MonthlyMetrics","ref": "A1:G13","style": {"name": "TableStyleMedium2","showRowStripes": true}}],"rows": [{ "cells": [{ "value": "Month" },{ "value": "Revenue" },{ "value": "Costs" },{ "value": "Margin" },{ "value": "Customers" },{ "value": "Churn %" },{ "value": "MoM Growth" }] }]},{"name": "Charts","charts": [{"type": "col","title": "Monthly Revenue","series": [{"name": "'Monthly Data'!$B$1","categories": "'Monthly Data'!$A$2:$A$13","values": "'Monthly Data'!$B$2:$B$13"}],"anchor": { "from": { "col": 0, "row": 0 } }},{"type": "line","title": "Customer Growth","series": [{"name": "'Monthly Data'!$E$1","categories": "'Monthly Data'!$A$2:$A$13","values": "'Monthly Data'!$E$2:$E$13"}],"anchor": { "from": { "col": 8, "row": 0 } }}]}]}
import { SpreadsheetEngine }from "@paperjsx/json-to-xlsx";import { readFileSync, writeFileSync }from "fs";const input = JSON.parse(readFileSync("saas-dashboard.json", "utf8"));const buffer = awaitSpreadsheetEngine.render(input);writeFileSync("output.xlsx", buffer);
[02] Formula builder
Type-safe formulas. 40+ functions.
Build Excel formulas with a composable, type-safe API. SUM, VLOOKUP, IF, COUNTIF, cross-sheet references — no string concatenation, no typos, no broken cell refs.
[03] Styling
Presets, themes, and conditional rules.
17 built-in style presets for common patterns. Full control over fonts, fills, borders, alignment, and number formats. Conditional formatting with color scales, data bars, and cell rules.
[04] Structure
Named tables. Data validation. Freeze panes.
Excel tables with auto-filter, banded rows, totals rows, and structured references. Data validation with dropdowns, number constraints, and custom formulas.
[05] Engine quality
Every render, validated automatically.
Schema validation, OOXML conformance checks, and sub-100ms build times. Every workbook is verified before it reaches your recipients.
[06] Paid plans
When XLSX becomes a real product feature.
Pro is enough when native Excel output solves the problem on its own. All Formats starts making sense when the same workflow also has to deliver decks, docs, or PDFs without splitting the stack.
Get started
Ship spreadsheets with native charts, not patched exports.
Start with the workbook that already needs native charts, formulas, and real spreadsheet structure, then open it in Excel and see whether it behaves like a deliverable instead of a patched export.
