All Projects → DHTMLX → Json2excel

DHTMLX / Json2excel

Generate excel file from json data

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Json2excel

Photon
⚡ Rust/WebAssembly image processing library
Stars: ✭ 963 (+2307.5%)
Mutual labels:  webassembly, wasm
Node Wasm
Import and use wasm in node
Stars: ✭ 28 (-30%)
Mutual labels:  webassembly, wasm
Wagon
wagon, a WebAssembly-based Go interpreter, for Go.
Stars: ✭ 882 (+2105%)
Mutual labels:  webassembly, wasm
Zemeroth
😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust
Stars: ✭ 940 (+2250%)
Mutual labels:  webassembly, wasm
Wasmsign
A tool to add and verify digital signatures to/from WASM binaries
Stars: ✭ 31 (-22.5%)
Mutual labels:  webassembly, wasm
Webrtc
Pure Go implementation of the WebRTC API
Stars: ✭ 8,399 (+20897.5%)
Mutual labels:  webassembly, wasm
Bionic
** Bionic - An Ionic CLI clone for Blazor projects ** moved to:
Stars: ✭ 28 (-30%)
Mutual labels:  webassembly, wasm
Gameboy
🎮 Game Boy emulator written in Rust
Stars: ✭ 17 (-57.5%)
Mutual labels:  webassembly, wasm
Cppwasm Book
📚 WebAssembly friendly programming with C/C++ -- Emscripten practice
Stars: ✭ 956 (+2290%)
Mutual labels:  webassembly, wasm
Wasm Check
TypeScript / JavaScript library for detect WebAssembly features in node.js & browser
Stars: ✭ 30 (-25%)
Mutual labels:  webassembly, wasm
Wasm Json Toolkit
[ORPHANED] A small toolkit for converting wasm binaries into json and back.
Stars: ✭ 23 (-42.5%)
Mutual labels:  webassembly, wasm
Wasmboy
Game Boy / Game Boy Color Emulator Library, 🎮written for WebAssembly using AssemblyScript. 🚀Demos built with Preact and Svelte. ⚛️
Stars: ✭ 963 (+2307.5%)
Mutual labels:  webassembly, wasm
Viper
[WIP] A Pythonesque language with a design that focuses on efficiency and expressiveness. Compiles to WebAssembly
Stars: ✭ 23 (-42.5%)
Mutual labels:  webassembly, wasm
Notecalc3
NoteCalc is a handy calculator trying to bring the advantages of Soulver to the web.
Stars: ✭ 879 (+2097.5%)
Mutual labels:  webassembly, wasm
Wasm2kt
Web Assembly to Kotlin and Java converter. Allows to compile a C or C++ program/library, and generate a Kotlin or Java program/library.
Stars: ✭ 18 (-55%)
Mutual labels:  webassembly, wasm
Terrarium Templates
Template and example projects for Fastly Labs Terrarium https://wasm.fastlylabs.com
Stars: ✭ 21 (-47.5%)
Mutual labels:  webassembly, wasm
Markdown Wasm
Markdown parser and HTML generator implemented in WebAssembly, based on md4c
Stars: ✭ 833 (+1982.5%)
Mutual labels:  webassembly, wasm
Awesome Wasm Zh
WebAssembly(wasm)资源精选
Stars: ✭ 838 (+1995%)
Mutual labels:  webassembly, wasm
Smartcircle
✂️Automatically determine where to crop a circular image out of a rectangular.
Stars: ✭ 29 (-27.5%)
Mutual labels:  webassembly, wasm
Rhai
Rhai - An embedded scripting language for Rust.
Stars: ✭ 958 (+2295%)
Mutual labels:  webassembly, wasm

JSON2Excel

JSON2Excel is a Rust and WebAssembly-based library that allows converting JSON files into Excel ones at ease.

npm version

How to build

yarn install
// build js code
yarn build
// rebuild wasm code
// rust toolchain is required
yarn build-wasm

How to use via npm

  • install the module
yarn add json2excel-wasm
  • import the module
// worker.js
import "json2excel-wasm";
  • use the module in the app
// app.js
const worker = new Worker("worker.js");

function doConvert(){
    worker.postMessage({ 
        type: "convert",
        data: json_data_to_export
    });
}

worker.addEventListener("message", e => {
    if (e.data.type === "ready"){
        const blob = e.data.blob;
        //excel file is ready to be downloaded!

        const a = document.createElement("a");
        a.href = URL.createObjectURL(blob);
        a.download = "data.xlsx";
        document.body.append(a);
        a.click();
        document.body.remove(a);
    }
});

How to use from CDN

CDN links are the following:

In case you use build system like webpack, it is advised to wrap the link to CDN source into a blob object to avoid possible breakdowns:

var url = window.URL.createObjectURL(new Blob([
    "importScripts('https://cdn.dhtmlx.com/libs/json2excel/1.0/worker.js');"
], { type: "text/javascript" }));

var worker = new Worker(url);

Input format

interface IConvertMessageData {
    uid?: string;
    data: ISheetData;
    styles?: IStyles[];
    wasmPath?: string; // use cdn by default
}

interface IReadyMessageData {
    uid: string; // same as incoming uid
    blob: Blob;
}

interface ISheetData {
    name?: string;
    cols?: IColumnData[];
    rows?: IRowData[];
    cells?: IDataCell[][]; // if cells mising, use plain
    plain?: string[][];

    merged?: IMergedCells;
}

interface IMergedCells {
    from: IDataPoint;
    to: IDataPoint;
}

interface IDataPoint {
    column: number; 
    row: number;
}

interface IColumnData {
    width: number;
}

interface IRowData {
    height: number;
}

interface IDataCell{
    v: string;
    s: number;
}

interface IStyle {
    fontSize?: string;
    align?: string;

    background?: string;
    color?: string;

    fontWeight?: string;
    fontStyle?: string;
    textDecoration?: string;

    format?: string;
}

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].