npm - 如何使用 xlsx npm 包写入特定单元格
问题描述
我必须在 xlsm 文件中的特定单元格(比如 D4 单元格)中写入一个值。我可以看到选项
XLSX.writeFile(workbook, 'out.xlsx');
但是我没有看到任何可以将值写入特定单元格的内容(需要写入的值应该在哪里传递?)。或者,它不像提供的读取特定单元格值的示例那样清晰。如果有人能给我提供一个简单的片段示例,我会很高兴。
这就是我读取特定单元格值的方式:
if(typeof require !== 'undefined') XLSX = require('C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\xlsx');
var workbook = XLSX.readFile('xlsm');
var first_sheet_name = workbook.SheetNames[0];
var address_of_cell = 'D5';
var worksheet = workbook.Sheets[first_sheet_name];
var desired_cell = worksheet[address_of_cell];
desired_value = (desired_cell ? desired_cell.v : undefined);
console.log('Cell Value is: '+ desired_value);
解决方案
因此,要写入已定义工作表中的特定单元格 - 比如说第一张工作表,您可以执行以下操作:
const XLSX = require('xlsx');
// read from a XLS file
let workbook = XLSX.readFile('test.xls');
// get first sheet
let first_sheet_name = workbook.SheetNames[0];
let worksheet = workbook.Sheets[first_sheet_name];
// read value in D4
let cell = worksheet['D4'].v;
console.log(cell)
// modify value in D4
worksheet['D4'].v = 'NEW VALUE from NODE';
// modify value if D4 is undefined / does not exists
XLSX.utils.sheet_add_aoa(worksheet, [['NEW VALUE from NODE']], {origin: 'D4'});
// write to new file
// formatting from OLD file will be lost!
XLSX.writeFile(workbook, 'test2.xls');
希望有帮助
推荐阅读
- python - 如何在字典中添加双引号?
- c# - 当月列不超过1个月时如何抑制水晶报表页脚
- python-3.x - 我可以使用 twitter api 进行选择投票吗?tweepy有什么方法吗?
- javascript - 在可下载文件中添加换行符
- c++ - 与路由器断开连接后如何恢复与主机的连接?
- amazon-web-services - AWS 访问密钥和联合
- json - 使用 rfc4627 从 erlang 中的 json 数组中获取特定数据
- android - 将应用图像文件夹设置为“从图库中选择图像”等事件的默认文件夹
- ffmpeg - NVIDIA 编解码器压缩时间
- visual-studio - 如何在 Visual Studio 市场中通过命令行更新已发布的扩展?