使用 node.js 修改现有 Excel 文件
Modify existing Excel File using node.js
有什么方法可以修改 node.js 中现有的 excel 文件吗?
我研究了 exceljs,但它没有提供任何只会修改现有数据的功能。似乎它将写入一个新流。
或者我在 exceljs 上遗漏了什么?
提前致谢。
exceljs 允许您修改 Excel 个电子表格。
下面是一个读取现有电子表格并将其写回到不同文件的示例:
var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile('old.xlsx')
.then(function() {
var worksheet = workbook.getWorksheet(1);
var row = worksheet.getRow(5);
row.getCell(1).value = 5; // A5's value set to 5
row.commit();
return workbook.xlsx.writeFile('new.xlsx');
})
如果您将流 API 与 exceljs
一起使用,您还可以将流传输到 fs.createWriteStream
以写入文件。
您可以修改excel,下面是示例。
var Excel = require('exceljs');
async function excelOp() {
let workbook = new Excel.Workbook();
workbook = await workbook.xlsx.readFile('question_39869739.xlsx'); // replace question_39869739.xls with your file
let worksheet = workbook.getWorksheet('sheetname'); // replace sheetname with actual sheet name
worksheet.getRow('rowNumber').getCell('cellNumber').value = 350; // replace rowNumber and cellNumber with the row and cell you want to modify
workbook.xlsx.writeFile('question_50508131.xlsx');
}
excelOp();
查看 https://www.npmjs.com/package/exceljs#interface 以了解使用 exceljs 的所有可能操作。
谢谢大家的回答。
相同的文件,您可以通过以下代码更新行值无需重命名或创建新文件。
var Excel = require('exceljs');
let filename = 'src/write.xlsx';
let workbook = new Excel.Workbook();
await workbook.xlsx.readFile(filename);
let worksheet = workbook.getWorksheet("Sheet1");
// header id name dob
let row = worksheet.getRow(3);
console.log(row);
row.getCell(1).value = 2;
row.getCell(2).value = 'test';
row.getCell(3).value = '12/09/1991';
row.commit();
workbook.xlsx.writeFile('src/write.xlsx');
有什么方法可以修改 node.js 中现有的 excel 文件吗? 我研究了 exceljs,但它没有提供任何只会修改现有数据的功能。似乎它将写入一个新流。
或者我在 exceljs 上遗漏了什么?
提前致谢。
exceljs 允许您修改 Excel 个电子表格。
下面是一个读取现有电子表格并将其写回到不同文件的示例:
var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile('old.xlsx')
.then(function() {
var worksheet = workbook.getWorksheet(1);
var row = worksheet.getRow(5);
row.getCell(1).value = 5; // A5's value set to 5
row.commit();
return workbook.xlsx.writeFile('new.xlsx');
})
如果您将流 API 与 exceljs
一起使用,您还可以将流传输到 fs.createWriteStream
以写入文件。
您可以修改excel,下面是示例。
var Excel = require('exceljs');
async function excelOp() {
let workbook = new Excel.Workbook();
workbook = await workbook.xlsx.readFile('question_39869739.xlsx'); // replace question_39869739.xls with your file
let worksheet = workbook.getWorksheet('sheetname'); // replace sheetname with actual sheet name
worksheet.getRow('rowNumber').getCell('cellNumber').value = 350; // replace rowNumber and cellNumber with the row and cell you want to modify
workbook.xlsx.writeFile('question_50508131.xlsx');
}
excelOp();
查看 https://www.npmjs.com/package/exceljs#interface 以了解使用 exceljs 的所有可能操作。
谢谢大家的回答。 相同的文件,您可以通过以下代码更新行值无需重命名或创建新文件。
var Excel = require('exceljs');
let filename = 'src/write.xlsx';
let workbook = new Excel.Workbook();
await workbook.xlsx.readFile(filename);
let worksheet = workbook.getWorksheet("Sheet1");
// header id name dob
let row = worksheet.getRow(3);
console.log(row);
row.getCell(1).value = 2;
row.getCell(2).value = 'test';
row.getCell(3).value = '12/09/1991';
row.commit();
workbook.xlsx.writeFile('src/write.xlsx');