如何从 Node.js 的工作簿中删除工作表? // 类型错误:无法读取未定义的属性“删除”

问题描述

我需要从 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");
});

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...