我正在使用以下代码在节点中使用XLSX更新excel工作表中的单元格。我正在过滤数组,并根据某些条件在IF循环中使用以下内容。一切正常,无论行索引在哪里,我都可以写入所需的单元格,但是,条件之一是,如果该列中的单元格为“ 0”,则将其返回,但是返回空白存在问题我也设法修复的单元格,对于空白单元格,我可以获得一个值为“ 0”的数组。
问题是在写入工作表时出现的,它可以写入所有值为'0'的行,但无法像其他单元格udpate一样将空单元格更新为'1'值。它甚至可以遍历该空白单元格并更改其下方的值,但是当该单元格为空白时,它将无法写入。
数组看起来像
label label label label
0 0 0 1
0 0 0 // <- THIS: doesn't write to 1 if the cell is empty
0 0 0 1
0 0 0 0 // <- if it has a 0 value it will write to 1
0 0 0 1
const workbook = XLSX.readFile("" + appDir + "\\tmp\\feedbacklist.xlsx", {
type: "binary",
cellDates: true,
dateNF: "yyyy-mm-dd;@",
sheetStubs: true
});
const SheetNameList = workbook.SheetNames;
var rows = XLSX.utils.sheet_to_json(workbook.Sheets[SheetNameList[0]], {
raw: false,
defval: '0'
});
var index = rows.indexOf(filteredRows[x]);
console.log("Index: " + index);
const updateFeedbackCell = raw[XLSX.utils.encode_cell({
r: index + 1,
c: 13 // in the example array above the are only 4 columns but i have 13 in dev
})];
updateFeedbackCell.v = '1';
关于空白单元格有很多文章,我做了一些建议,可以使用defval:'0'和sheetStubs:true读取它们,但是我在数组中返回了'0'值,只是不能写回空白单元格。
我已删除了不必要的代码。
有什么想法吗?