使用node读写Excel文件

举报
薛定喵君 发表于 2021/06/03 23:02:45 2021/06/03
6.3k+ 0 0
【摘要】 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


        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 格式。

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

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

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

作者其他文章

评论(0

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

    全部回复

    上滑加载中

    设置昵称

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

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

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