正确处理js-xlsx中xlsx的内容并进行操作

Correctly address content of xlsx in js-xlsx and manipulate it

我想在我的 Node.JS 服务器上使用 js-xlsx 导出 xlsx 文件。我可以读取文件并保存它们。但是当我尝试用内容填充 Table 时,它不起作用。

我用这样的行填充它:

for (var i = 0; i < workbook.SheetNames.length; i++) {
    var sheet = workbook.Sheets[workbook.SheetNames[i]];
    var studenten = stapel[workbook.SheetNames[i]];

    sheet["A1"] = {v: "This is a test!",t:"s"};

    workbook.Sheets[workbook.SheetNames[i]] = sheet;
}

,我也尝试使用这种表示法作为单元格地址

{c:0,r:0}

但是当我导出我的文件时,表格是空的。创建不同的工作表效果很好,但我无法用内容填充表格。这里有人可以告诉我如何正确处理表格和操作它们的内容吗?

提前致谢!

更新: 甚至

function Workbook() {
    if (!(this instanceof Workbook)) return new Workbook();
    this.SheetNames = [];
    this.Sheets = {};
}

var workbook = new Workbook();
workbook.SheetNames.push("1");
workbook.Sheets[1] = {'A1': {v: "HI",t:"s"}};

不起作用。我想我不明白 API!

我今天自己偶然发现了这个问题,并花了一些时间找到原因。解决方法是在一个worksheet:

中设置"!ref"值
workbook.Sheets[1] = {'!ref': "A1", 'A1': {v: "HI",t:"s"}};

“!ref”用于定义sheet中包含数据的区域。 这是来自官方文档:

sheet['!ref']: A-1 based range representing the sheet range. Functions that work with sheets should use this parameter to determine the range. Cells that are assigned outside of the range are not processed. In particular, when writing a sheet by hand, cells outside of the range are not included