xlsx-io
v0.2.4
Published
A simple .xlsx file input/output lib based node-xlsx.
Downloads
2
Readme
xlsx-io
import! only support es6+ node environment
重要提示!仅仅支持es6及以上的node运行环境
xlsx-io是一个基于node-xlsx的简单的Excel工作簿(*.xlsx)格式文件的读取写入工具。支持javascript Object/Array类型的数据读取及写入。
XlsxBuilder
'use strict';
const XlsxBuilder = require('xlsx-io').XlsxBuilder;
// 创建XlsxBuilder对象
const builder = new XlsxBuilder();
// 以数组的形式添加数据
builder.addSheet({
name: 'sheet1',
columnsName: ['column1', 'column2', 'column3', 'column4'],
data: [
[1, 2, 3, 4],
['a', 'b', 'c', 'd'],
[1, null, '', `\'`],
[null, undefined, 1, 'a'],
],
dataType: 'array'
});
// 以对象数组的形式添加数据
builder.addSheet({
name: 'sheet2',
columnsName: ['column1', 'column2', 'column3', 'column4'],
data: [
{
column1: 1,
column2: 2,
column3: 3,
column4: 4
},
{
column1: 'a',
column2: 'b',
column3: 'c',
column4: 'd'
},
{
column1: 1,
column2: null,
column3: '',
column4: `\'`
},
{
column1: null,
column2: undefined,
column3: 1,
column4: 'a'
}
],
dataType: 'object'
});
// 输出buffer
const bufResult = builder.output();
// 输出到文件
builder.output('result.xlsx');
XlsxParser
'use strict';
const XlsxParser = require('xlsx-io').XlsxParser;
// 创建XlsxBuilder对象
const parser = new XlsxParser('result.xlsx');
// 获取表名
const sheetNames = parser.SheetNames;
console.log(sheetNames);
// 获取指定表的列名(参数为表的序号)
const columnsName = parser.columnsName(0);
console.log(columnsName);
// 获取指定表的数据(每一行为一个数组)
const sheetRows = parser.sheetRows(0);
console.log(sheetRows);
// 获取指定表的数据(返回一个对象,result.status=true, result.data中每一行为一个对象)
const sheetMaps = parser.sheetMaps({
sheet: 0,
columnsName: ['column1', 'column2', 'column3', 'column4']
});
if(sheetMaps.status){
console.log(sheetMaps.data);
}
// 获取指定表的数据(每一行为一个对象),如果columnsName中有表中不存在的列名,result.status=false. result.errors 里面是不存在的列名
const sheetMaps2 = parser.sheetMaps({
sheet: 0,
columnsName: ['column1', 'column2', 'column3', 'column4', 'not in sheet']
});
console.log(sheetMaps2);