Excel 或 SheetJS - 如何从 JS 向 excel sheet 添加多行?

Excel or SheetJS - how do add multiple lines to an excel sheet from JS?

我正在尝试向 excel sheet 添加多行。

添加一行效果很好:

var wb = {
    SheetNames: ["mySheet"],
    Sheets: {
        mySheet: {
            "!ref":"A1:C1",
            A1: { t:"d", v:"30-Jan-1967" },
            B1: { t:"s", v:"This is some text" },
            C1: { t:"n", v:10000 }
        }
    }
}
XLSX.writeFile(wb, "sheetjs.xlsx");

但是如果我创建一个对象并尝试添加多行,它不会起作用,因为这些行不断相互覆盖。

var myObject = [];
for (let i = 0; i<10; i++) {
    myObject.push(
        {   
            "!ref":"A1:C1",
            A1: { t:"d", v:"30-Jan-1967" },
            B1: { t:"s", v:"This is no" + i },
            C1: { t:"n", v: (i * 1000) }
        }
    )
}

var wb = {
    SheetNames: ["mySheet"],
    Sheets: {
        mySheet: myObject
    }
}
XLSX.writeFile(wb, "sheetjs.xlsx");

有没有人知道如何做到这一点? (VBA 有特殊的功能可以做到,但我不知道如何在 JS 中做到)

让我的对象= { “!参考”:"A1:C10" }

for (let col=1; col< 3; col++) {
    for(let row=1; row< 10; row++ ) {
        myObject['A' + row] = {t: "s", v: 'hi A' + row};
        myObject['B' + row] = {t: "s", v: 'hi B' + row};
        myObject['C' + row] = {t: "s", v: 'hi C' + row};
    }
}

你可以试试这个,这个很管用!!!