我怎样才能改进这个函数,让它覆盖 Excel 单元格?

How can I improve this function so that it overwrites the Excel cell?

我正在使用此代码尝试覆盖 Excel 中的单元格:

function readExcelFile(workbook, row, cell, newData) {
    workbook.xlsx.readFile('H://filename.xlsm')
        .then(function () {
            cell.value = newData;
            row.commit();
            return workbook.xlsx.writeFile('H://newFile.xlsx');
        });
}

我可以将数据记录到控制台,但 Excel 文件保持不变。

任何帮助都将是巨大的,谢谢。

据推测,函数参数rowcell是与workbook相关的对象?但是,他们将在您写入文件的匿名函数范围内失去这种联系。 (从技术上讲,JavaScript 通过值而不是通过引用将变量传递给函数。)

而是传递查找单元格所需的信息,并在函数中本地获取它:

function readExcelFile(workbook, worksheetName, rowIndex, columnIndex, newData) {
    workbook.xlsx.readFile('H://filename.xlsm')
        .then(function () {
            worksheet = workbook.getWorksheet(worksheetName);
            row = worksheet.getRow(rowIndex);
            cell = row.getCell(columnIndex);
            cell.value = newData;
            row.commit();
            return workbook.xlsx.writeFile('H://newFile.xlsx');
        });
}

readExcelFile(my_workbook, "My Worksheet", 3, 3, 34232);