使用node读写Excel文件

2020-06-30 18:27:26

node操作Excel的例子

安装依赖

npm install一下以下模块

  • node-xlsx(基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件)
  • excel-export(基于Node.js将数据生成导出excel文件,生成文件格式为xlsx)
  • fs

示例代码

demo.js


const fs = require('fs')
const xlsx = require('node-xlsx')
const nodeExcel = require('excel-export')

// 读取Excel
let exceldata = xlsx.parse('./' + 'xxx.xlsx')
let exportData = []
for (let rowId in exceldata[0]['data']) {
    let row = exceldata[0]['data'][rowId]
    exportData.push(row[0])
}

// 导出Excel
let conf = {} // excel配置
conf.name = 'sheet' //表格名
// 列名和类型
conf.cols = [
    {
        caption: '列名',
        type: 'string',
    },
]

let excelData = new Array()
for (var i = 0; i < exportData.length; i++) {
    let arr = new Array()
    arr.push(exportData[i])
    excelData.push(arr)
}
conf.rows = excelData
let result = nodeExcel.execute(conf)
let path = `${__dirname}/exportdata.xlsx`
fs.writeFile(path, result, 'binary', (err) => {
    err ? console.log(err) : null
})

常见的npm依赖模块参考

  • js-xlsx: 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / XLSB / XLS / CSV,解析采用纯js实现,写入需要依赖nodejs或者FileSaver.js实现生成写入Excel,可以生成子表Excel,功能强大,但上手难度稍大。不提供基础设置Excel表格api例单元格宽度,文档有些乱,不适合快速上手;
  • node-xlsx: 基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件;
  • excel-parser: 基于Node.js解析excel文件数据,支持xls及xlsx格式文件,需要依赖python,太重不太实用;
  • excel-export: 基于Node.js将数据生成导出excel文件,生成文件格式为xlsx,可以设置单元格宽度,API容易上手,无法生成worksheet字表,比较单一,基本功能可以基本满足;
  • node-xlrd: 基于node.js从excel文件中提取数据,仅支持xls格式文件,不支持xlsx,有点过时,常用的都是XLSX 格式。
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。

扫描下方二维码阅读当前文章

浏览器、微信扫码

评 论:

好文推荐
每天进步一点点~