← All packages

@lacspace/convert

v1.0.0Sheets Kit2 @lacspace deps

The data conversion hub — JSON ⇄ XLSX ⇄ CSV ⇄ TSV ⇄ NDJSON ⇄ YAML ⇄ TOML ⇄ Markdown ⇄ HTML ⇄ SQL in one call. Auto-detects the input, turns nested JSON into flat columns and back (lossless), infers numbers/booleans/dates conservatively, picks sheets, selects/renames/reorders columns, writes injection-safe CSV and SQL with DDL, and streams big files. Built on @lacspace/xlsx and @lacspace/csv — zero external dependencies, isomorphic.

npm i @lacspace/convert

Usage

convert.ts
import { convert, detect, toExcel, fromExcel } from "@lacspace/convert";

// JSON → a real .xlsx (one sheet per key, nested objects flattened to columns)
const xlsx = await convert(orders, { to: "xlsx", sheet: "Orders", flatten: true });

// Excel → JSON rows (input format auto-detected; numbers, booleans and dates typed)
const rows = await convert(xlsxBytes, { to: "json" });

// CSV → Markdown table, keeping only two columns
const md = await convert(csvText, { from: "csv", to: "markdown", columns: ["name", "total"] });

// …or SQL INSERTs with a CREATE TABLE
const sql = await convert(rows, { to: "sql", tableName: "orders", ddl: true });

detect(csvText); // "csv"

Exports 12

convertdetectparseInputserializetoExcelfromExcelflattenunflatteninferTypesinferSchemaparseLinestransformTable

Keywords

json-to-excelexcel-to-jsoncsv-to-xlsxxlsx-to-csvjson-to-csvcsv-to-jsonyamltomlndjsonmarkdown-tablesql-insertconverterflattenzero-dependency

More in Sheets Kit