使用node读写Excel文件

举报
薛定喵君 发表于 2021/06/03 23:02:45 2021/06/03
【摘要】 node操作Excel的例子 # 安装依赖 npm install一下以下模块 node-xlsx(基于Node.js解析excel文件数据及生成excel文件,仅支持xlsx格式文件)excel-export(基于Node.js将数据生成导出excel文件,生成文件格式为xlsx)fs # 示例代码 demo.js const fs = r...

node操作Excel的例子

# 安装依赖

npm install一下以下模块

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

# 示例代码

demo.js


    
  1. const fs = require('fs')
  2. const xlsx = require('node-xlsx')
  3. const nodeExcel = require('excel-export')
  4. // 读取Excel
  5. let exceldata = xlsx.parse('./' + 'xxx.xlsx')
  6. let exportData = []
  7. for (let rowId in exceldata[0]['data']) {
  8. let row = exceldata[0]['data'][rowId]
  9. exportData.push(row[0])
  10. }
  11. // 导出Excel
  12. let conf = {} // excel配置
  13. conf.name = 'sheet' //表格名
  14. // 列名和类型
  15. conf.cols = [
  16. {
  17. caption: '列名',
  18. type: 'string',
  19. },
  20. ]
  21. let excelData = new Array()
  22. for (var i = 0; i < exportData.length; i++) {
  23. let arr = new Array()
  24. arr.push(exportData[i])
  25. excelData.push(arr)
  26. }
  27. conf.rows = excelData
  28. let result = nodeExcel.execute(conf)
  29. let path = `${__dirname}/exportdata.xlsx`
  30. fs.writeFile(path, result, 'binary', (err) => {
  31. err ? console.log(err) : null
  32. })

# 常见的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 格式。

文章来源: blog.csdn.net,作者:薛定喵君,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jsxg2009/article/details/115244255

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。