问题描述
我需要从 Node.js 中的 Excel 工作簿中删除工作表。我使用 SheetJs(我更喜欢使用这个答案,但我非常感谢所有其他可能性,我可以改变)。找了好几天没找到解决办法。
const xlsx = require('xlsx');
workBook = xlsx.readFile("todo-list.xlsx",{cellDates:true});
const headerData = ["Id","Name","Description","Due Date","Priority","Status","Notes"];
const workSheet = xlsx.utils.aoa_to_sheet([headerData]);
xlsx.utils.book_append_sheet(workBook,workSheet,"TO-DEL");
我试过了,但它不起作用:
workSheet.delete();
或者这个...
workBook.Sheets["TO-DEL"].delete();
结局是这样的:
xlsx.writeFile(workBook,'todo-list.xlsx');
您对此有任何想法或经验,可以帮助我吗?非常感谢任何帮助!
解决方法
这很完美:
const Excel = require('exceljs');
const workbook = new Excel.Workbook();
workbook.xlsx.readFile("todo-list.xlsx").then(function() {
const worksheet = workbook.getWorksheet("Sheet1");
console.log(worksheet);
workbook.removeWorksheet(worksheet.id);
return workbook.xlsx.writeFile( "todo-list.xlsx");
});