0.2.4 • Published 6 years ago

xlsx-io v0.2.4

Weekly downloads
3
License
Apache-2.0
Repository
-
Last release
6 years ago

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

6 years ago

0.2.3

6 years ago

0.2.2

6 years ago

0.1.2

7 years ago

0.1.1

7 years ago

0.1.0

7 years ago