JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 7
  • Score
    100M100P100Q35281F
  • License MIT

Fast xlsx to csv converter

Package Exports

  • xlsx-csv-rust
  • xlsx-csv-rust/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (xlsx-csv-rust) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

xlsx-csv-rust

Fast xlsx to csv converter based on Rust package Calamine. It faster than [SheetJs][https://github.com/SheetJS/sheetjs] at least 3 times and eats 5 times smaller memory

Install

npm install xlsx-csv-rust

Usage

import fs from 'fs'
import { convertFile } from 'xlsx-to-csv'

const { filepath } = convertFile('./file.xlsx')
const csvData = fs.readFileSync(filepath, { encoding: 'utf-8' })

console.log(csvData)

Testing

  1. Install rust
  2. cargo install cargo-watch
  3. npm run test or npm run test:integration (for node integration test)

Building for release

  1. Install rust
  2. Install rust target enviornments
rustup target add x86_64-apple-darwin # requires macos machine to build
rustup target add aarch64-apple-darwin # requires macos machine to build
rustup target add x86_64-pc-windows-gnu
rustup target add x86_64-unknown-linux-musl
  1. (on linux) install build tool required for windows sudo apt-get install mingw-w64
  2. npm run build

Licence

MIT