All Projects → DHTMLX → excel2json

DHTMLX / excel2json

Licence: other
Convert excel file to json data

Programming Languages

rust
11053 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to excel2json

DBC2Excel
Convert DBC to Excel by VBA
Stars: ✭ 33 (-57.69%)
Mutual labels:  excel
SwiftyExcelView
A View Look Like Excel & Form
Stars: ✭ 45 (-42.31%)
Mutual labels:  excel
Excel2Object
excel convert to .NET Object | Excel与.NET 对象进行转换,支持公式、多Sheet等功能
Stars: ✭ 35 (-55.13%)
Mutual labels:  excel
fastapi-csv
🏗️ Create APIs from CSV files within seconds, using fastapi
Stars: ✭ 46 (-41.03%)
Mutual labels:  excel
vue-ele-import
超简单、好用的 element-ui Excel 导入组件
Stars: ✭ 50 (-35.9%)
Mutual labels:  excel
read-excel
This is very simple implementation of the Excel 97-2003 (BIFF8) format written in C++. Supported reading only.
Stars: ✭ 18 (-76.92%)
Mutual labels:  excel
clipboard-parser
剪贴板解析器,支持解析@RequestParam/@ApiModelProperty接口定义代码、Word、Excel以及其他表格类数据
Stars: ✭ 15 (-80.77%)
Mutual labels:  excel
umya-spreadsheet
A pure rust library for reading and writing spreadsheet files
Stars: ✭ 79 (+1.28%)
Mutual labels:  excel
eec
A fast and lower memory excel write/read tool.一个非POI底层,支持流式处理的高效且超低内存的Excel读写工具
Stars: ✭ 93 (+19.23%)
Mutual labels:  excel
xlsx-calc
javascript nodejs excel formula parser
Stars: ✭ 83 (+6.41%)
Mutual labels:  excel
ToolGood.Algorithm
Support four arithmetic operations, Excel formulas, and support custom parameters. 支持四则运算、Excel公式语法,并支持自定义参数。
Stars: ✭ 77 (-1.28%)
Mutual labels:  excel
VisualTAF
ExlJS - Super easy to use, Excel and JS driven tool, encapsulating best practices in test automation development.
Stars: ✭ 21 (-73.08%)
Mutual labels:  excel
ScareCrow-CobaltStrike
Cobalt Strike script for ScareCrow payloads intergration (EDR/AV evasion)
Stars: ✭ 387 (+396.15%)
Mutual labels:  excel
SchemaMapper
A .NET class library that allows you to import data from different sources into a unified destination
Stars: ✭ 41 (-47.44%)
Mutual labels:  excel
r4excel users
Бесплатный видео курс "Язык R для пользователей Excel"
Stars: ✭ 14 (-82.05%)
Mutual labels:  excel
OpenSpreadsheet
OpenSpreadsheet provides an easy-to-use wrapper around the OpenXML spreadsheet SAX API. It specializes in efficiently reading and writing between strongly typed collections and worksheets.
Stars: ✭ 24 (-69.23%)
Mutual labels:  excel
spreadsheet
Yii2 extension for export to Excel
Stars: ✭ 79 (+1.28%)
Mutual labels:  excel
excel mysql
Module for import Excel files to MySQL table and export MySQL table to Excel file using PHPExcel
Stars: ✭ 30 (-61.54%)
Mutual labels:  excel
Crema
Meta data server & client tools for game development
Stars: ✭ 61 (-21.79%)
Mutual labels:  excel
awesome-georgian-datasets
Useful datasets, specific to Georgia
Stars: ✭ 47 (-39.74%)
Mutual labels:  excel

Excel2json

Excel2json is a Rust and WebAssembly-based library that allows easily converting files in Excel format to JSON files.

npm version

How to build

wasm

cargo install wasm-pack
wasm-pack build --target web

js

yarn install
yarn build

How to use via npm

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

// convert excel file to json
worker.postMessage({
    type: "convert",
    data: file_object_or_typed_array
});

worker.addEventListener("message", e => {
    if (e.data.type === "ready"){
        const data = e.data.data;
        const styles = e.data.styles;

        //json data is ready
        console.log(data, styles)
    }
});

Export formulas

worker.postMessage({
    type: "convert",
    data: file_object_or_typed_array,
    formulas: true
});

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/excel2json/1.1/worker.js');"
], { type: "text/javascript" }));

var worker = new Worker(url);

Output format

interface IConvertMessageData {
    uid?: string;
    data: Uint8Array | File;
    sheet?: string;
    styles?: boolean;
    wasmPath?: string;
}

interface IReadyMessageData {
    uid: string;
    data: ISheetData[];
    styles: IStyles[];
}

interface ISheetData {
    name: string;
    cols: IColumnData[];
    rows: IRowData[];
    cells: IDataCell[][];   // null for empty cell

    merged: IMergedCell[];
}

interface IMergedCell {
    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;
    fontFamily?: string;

    background?: string;
    color?: string;

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

    textAlign?: string;
    verticalAlign?: string;

    borderLeft?: string;
    borderTop?: string;
    borderBottom?: string;
    borderRight?: 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].