我怎样才能改进这个函数,让它覆盖 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 文件保持不变。
任何帮助都将是巨大的,谢谢。
据推测,函数参数row
和cell
是与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);
我正在使用此代码尝试覆盖 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 文件保持不变。
任何帮助都将是巨大的,谢谢。
据推测,函数参数row
和cell
是与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);