如何使用 xlsx npm 包写入特定单元格
How to write into a particular cell using xlsx npm package
我必须向我的 xlsm 文件中的特定单元格(比如 D4 单元格)写入一个值。我可以看到
的选项
XLSX.writeFile(workbook, 'out.xlsx');
在XLSX package documentation (writing functions)
但是我没有看到任何可以将值写入特定单元格的东西(需要写入的值应该传递到哪里?)。或者,它不像提供的示例那样清晰地读取特定的单元格值。
如果有人能为我提供一个简单的片段示例,我会很高兴。
这是我读取特定单元格值的方式:
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);
因此,要写入已定义 sheet 中的特定单元格 - 让我们先说 sheet,您可以这样做:
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');
希望对您有所帮助
修改D4中的值
worksheet['D4'].v = 'NEW VALUE from NODE';
这仅在单元格已在文件中定义时有效,但有时您会想要写入新的未定义单元格。
所以,我找到的解决方案是:
修改新单元格中的值 - D4
XLSX.utils.sheet_add_aoa(worksheet, [['NEW VALUE from NODE']], {origin: 'D4'});
我必须向我的 xlsm 文件中的特定单元格(比如 D4 单元格)写入一个值。我可以看到
的选项XLSX.writeFile(workbook, 'out.xlsx');
在XLSX package documentation (writing functions)
但是我没有看到任何可以将值写入特定单元格的东西(需要写入的值应该传递到哪里?)。或者,它不像提供的示例那样清晰地读取特定的单元格值。 如果有人能为我提供一个简单的片段示例,我会很高兴。
这是我读取特定单元格值的方式:
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);
因此,要写入已定义 sheet 中的特定单元格 - 让我们先说 sheet,您可以这样做:
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');
希望对您有所帮助
修改D4中的值
worksheet['D4'].v = 'NEW VALUE from NODE';
这仅在单元格已在文件中定义时有效,但有时您会想要写入新的未定义单元格。 所以,我找到的解决方案是:
修改新单元格中的值 - D4
XLSX.utils.sheet_add_aoa(worksheet, [['NEW VALUE from NODE']], {origin: 'D4'});