Skip to content

emadda/transform-x

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

transform-x

JS functions to convert between JSON, SQLite and Excel.

Use via:

Portable: Aims to work in any web standards compatible JS runtime (browser, Node.js, Deno, Bun, Cloudflare Workers).

Use as a JS library

npm install transform-x

// Use with Node.js
const x = require("transform-x");
x.json_to_sqlite;


// Use with vanilla JS ESM (web bundle)
import {json_to_excel, sqlite_to_json} from "transform-x";


// Use with Typescript (web bundle)
import {json_to_excel, sqlite_to_json} from "transform-x/src/lib";

See tests directory for function usage examples.

Web UI

You can convert between formats in your browser at transform-x.dev.

CLI's

  • JSON ↔ Excel

    • json_to_excel
    • excel_to_json
  • JSON ↔ SQLite

    • json_to_sqlite
    • sqlite_to_json
  • SQLite ↔ Excel

    • sqlite_to_excel
    • excel_to_sqlite

Install

# This installs `$x_to_$y` CLI's that can be auto completed in your terminal with tab.
npm install -g transform-x

JSON ↔ Excel

# Provide both files as args.
json_to_excel --i ./input.json --o ./output.xlsx

# Use stdin (single sheet)
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_excel --o ./output.xlsx

# Use stdout
json_to_excel --i ./input.json >./output.xlsx

# Write output to temp file, open in Excel app (macOS only).
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_excel --open


# Pipe SQLite query result to Excel.
sqlite3 -json db.sqlite "select * from tbl_a" | json_to_excel --open

JSON ↔ SQLite

# Provide both files as args.
json_to_sqlite --i ./input.json --o ./output.sqlite

# Use stdin (single table)
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_sqlite --o ./output.sqlite

# Use stdout
json_to_sqlite --i ./input.json >./output.sqlite

# Write output to temp file, open in native desktop GUI (macOS only).
echo '[{"x": 2}, {"x": 3, "y": {"h": 1}}]' | json_to_sqlite --open

CLI limits

  • sqlite_to_json
    • SQLite/JSON limited to around 500MB in size.

    • Binary values will be set to null in the output JSON.

About

Convert between SQLite, Excel and JSON formats.

Topics

Resources

License

Stars

Watchers

Forks