我是node.js的新手,可以将数据写入工作簿,但是在数据开头插入注释时遇到了问题。 请注意,数据是从数据库中获取的,但请注意是静态的或从会话中获取的。
var export = XLSX.utils.json_to_sheet(this.obj);
var wb = XLSX.utils.book_new() // make Workbook of Excel
// add Worksheet to Workbook
XLSX.utils.book_append_sheet(wb, export, 'sheet1') // sheet1 is name of Worksheet
XLSX.utils.sheet_add_json(wb.Sheets.sheet1,
[
{note: "This is a note"},
],
{
header: ["note"],
skipHeader:true,
origin: "A1"
}
);
// export Excel file
XLSX.writeFile(wb, 'book.csv') // name of the file is 'book.xlsx'
在上面的代码中,我试图使用sheet_add_json添加注释,但它会覆盖A1处的现有数据。虽然在尝试使用空单元格时效果很好
以下期望以excel格式输出。
这是一个注释
Name RollNo Age
Abc 101 10
def 102 15
xyz 103 20
但是根据当前的代码,我得到
This is a Note RollNo Age
Abc 101 10
def 102 15
xyz 103 20
答案 0 :(得分:0)
从文档“ XLSX.utils.sheet_add_json获取对象数组并更新现有的工作表对象。它遵循与json_to_sheet相同的过程并接受options参数:”它将仅更新,也可以添加为新行在底部,使用原点:-1。
尝试一下:
//create sheet with empty json/there might be other ways to do this
export = XLSX.utils.json_to_sheet({});
//start frm A2 here
XLSX.utils.sheet_add_json(wb.Sheets.sheet1,
[{
Name: 'Abc',
RollNo: 101,
Age: 10
},
{
Name: 'def',
RollNo: 102,
Age: 15
},
{
Name: 'xyz',
RollNo: 103,
Age: 20
}],
{
header: ["note"],
skipHeader:true,
origin: "A2"
}
);
//then add ur txt
XLSX.utils.sheet_add_json(wb.Sheets.sheet1,
[
{note: "This is a note"},
],
{
header: ["note"],
skipHeader:true,
origin: "A1"
}
);