如何使用xlsx npm包写入特定的单元格

时间:2018-07-20 11:05:55

标签: npm jasmine protractor js-xlsx sheetjs

我必须将值写入xlsm文件中的特定单元格(例如D4单元格)。我可以看到

的选项
window.setTimeout()

XLSX.writeFile(workbook, 'out.xlsx');

写,但是我看不到有什么可将值写到特定的单元格(需要写的值应该在哪里传递?)。或者,它不像提供的读取特定单元格值的示例那样清晰。 如果有人能为我提供一个简单的摘要示例,我们将非常高兴。

这是我读取特定单元格值的方式:

https://www.npmjs.com/package/xlsx#writing-functions

2 个答案:

答案 0 :(得分:7)

修改D4中的值

worksheet['D4'].v = 'NEW VALUE from NODE';

这仅在文件中已定义单元格的情况下有效,但是有时您将要写入新的未定义单元格。 因此,我为此找到的解决方案是:

修改新单元格D4中的值

XLSX.utils.sheet_add_aoa(worksheet, [['NEW VALUE from NODE']], {origin: 'D4'});

答案 1 :(得分:2)

因此,要写入已定义工作表中的特定单元格-可以说,第一张工作表是可以做到的:

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';

// write to new file
XLSX.writeFile(workbook, 'test2.xls');

希望有帮助