1.0.0 • Published 3 years ago

xlsx-export-9 v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

xlsx-export-9

node version NPM version build status Test coverage David deps npm download

A Node.js library for exporting large amounts of data to xlsx files, supporting page reading and different data splitting methods, based on node-xlsx.

Install

$ npm i xlsx-export-9 --save

Usage

'use strict';

const xlsxExport = require('xlsx-export-9');

const raws = [{ name: 'xxx', sex: 'male', job: 'programer' }];

const options = {
  tableLimit: 10000,
  readLimit: 1000,
  headers: [ 'name', 'sex', 'job' ],
  splitType: 'file',
  fileName: 'sample',
};
xlsxExport(async (offset, limit) => {
  const datas = [];
  const min = Math.min(offset + limit, raws.length);
  for (let i = offset; i < min; i++) {
    const raw = raws[i];
    datas.push([ raw.name, raw.sex, raw.job ]);
  }
  return datas;
}, options);

More usage can be found in test.js

xlsxExport(getData, options)

  • /getData/ is an asynchronous function that accepts two parameters, offset and limit, and returns a two-dimensional array
  • /options/ is an object that determines how to export data to a file
  • Return a Promise object

选项说明

选项默认值含义
offset0Initial offset
count0Maximum data acquisition amount, when it is 0, it means that the acquisition is complete
tableLimit50000Maximum number of rows in a single sheet
readLimit1000Number of data obtained at a time
headersnullThe header, which can be a string array or null
splitType'file'Split mode,'file' means split by file,'sheet' means split by sheet
splitName(name, index) => name + '_' + indexFunction to calculate the name of a table or file after splitting
sheetName'Sheet'Sheet name
fileName'Export'File name
outputasync (file, buffer) => await fs.writeFile(file + '.xlsx', buffer)Output function
enableEmptyFilefalseWhether to allow empty files, if not, the xlsx file will not be generated when the data is empty

Unit tests

npm test

License

MIT This README was translate by google