xlsx-io

0.2.4 • Public • Published

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);

Readme

Keywords

Package Sidebar

Install

npm i xlsx-io

Weekly Downloads

0

Version

0.2.4

License

Apache-2.0

Unpacked Size

22.8 kB

Total Files

11

Last publish

Collaborators

  • zhangyongqin