DHTMLX / Json2excel
Generate excel file from json data
Stars: ✭ 40
Programming Languages
rust
11053 projects
Labels
Projects that are alternatives of or similar to Json2excel
Photon
⚡ Rust/WebAssembly image processing library
Stars: ✭ 963 (+2307.5%)
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
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
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.
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:
- https://cdn.dhtmlx.com/libs/json2excel/1.0/worker.js
- https://cdn.dhtmlx.com/libs/json2excel/1.0/lib.wasm
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].