node-xlsx读取Excle表格重新写入新的Excle表格

前段时间遇到项目上的一个小工作,就是将旧的所有需要的模板导出来。然后改为新的格式并导出到新的表格中。

刚开始遇到的时候心想直接挨个改吧,后来打开一看几百个模板。瞬间死心,所以灵机一动,不如写个脚本自动转一下。。。

然后Google了一下 发现了node-xlsx这个插件,完美。。。

相关的链接:https://www.npmjs.com/package/node-xlsx

废话不说,上代码。


let fs = require('fs');//引入文件读取模块
let path = require('path');//引入文件读取模块
let xlsx = require('node-xlsx'); //引入node-xlsx模块


let filePath = path.resolve('E:/项目开发-工作/adm-ress/src/adx-confirmed');
let obj = xlsx.parse('C:/Users/Administrator/Desktop/年后打底0227.xlsx');
//[ { name: 'adx打底模板批量输出', data: [ [Array], [Array], [Array] ] } ] 返回表格数据内容
let excelObj = obj[0].data;
let data = [['广告位ID', 'ADX模板ID
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Node-xlsx是一个用于读取写入Excel文件的Node.js模块。它支持设置单元格样式,具体方法如下: 1. 引入模块 ```javascript const xlsx = require('node-xlsx'); ``` 2. 创建工作簿 ```javascript const workbook = xlsx.utils.book_new(); ``` 3. 创建工作表 ```javascript const worksheet = xlsx.utils.json_to_sheet([ { A: 1, B: 2 }, { A: 3, B: 4 }, ]); ``` 4. 设置单元格样式 ```javascript // 设置单元格A1的背景颜色为红色 xlsx.utils.cell_set_bg_color(worksheet['A1'], 'FF0000'); // 设置单元格B2的字体为粗体 xlsx.utils.cell_set_font_bold(worksheet['B2'], true); // 设置单元格C1的边框为实线 xlsx.utils.cell_set_border(worksheet['C1'], { left: 'medium', top: 'medium', right: 'medium', bottom: 'medium', }); // 设置单元格D2的对齐方式为居中 xlsx.utils.cell_set_alignment(worksheet['D2'], { horizontal: 'center' }); ``` 5. 将工作表添加到工作簿中 ```javascript xlsx.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); ``` 6. 将工作簿写入文件 ```javascript xlsx.writeFile(workbook, 'example.xlsx'); ``` 完整示例代码: ```javascript const xlsx = require('node-xlsx'); const workbook = xlsx.utils.book_new(); const worksheet = xlsx.utils.json_to_sheet([ { A: 1, B: 2 }, { A: 3, B: 4 }, ]); // 设置单元格A1的背景颜色为红色 xlsx.utils.cell_set_bg_color(worksheet['A1'], 'FF0000'); // 设置单元格B2的字体为粗体 xlsx.utils.cell_set_font_bold(worksheet['B2'], true); // 设置单元格C1的边框为实线 xlsx.utils.cell_set_border(worksheet['C1'], { left: 'medium', top: 'medium', right: 'medium', bottom: 'medium', }); // 设置单元格D2的对齐方式为居中 xlsx.utils.cell_set_alignment(worksheet['D2'], { horizontal: 'center' }); xlsx.utils.book_append_sheet(workbook, worksheet, 'Sheet1'); xlsx.writeFile(workbook, 'example.xlsx'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值