我正在使用 exceljs 3.8 创建新的 xlsx 文件,但由于某些原因,下面的代码无法正常工作?
createNewExcelFile: function (excelFilePath) {
//excelFilePath: Provide path and file name for excel file
// load exceljs module
var workbook = new exceljs.Workbook(); //create object of workbook
//add sheet to workbook
var newSheet = workbook.addWorksheet('TestData');
//use write file function to create new file
workbook.xlsx.writeBuffer(excelFilePath)
.then(function () {
console.log("excel file created successfully");
});
}
createNewExcelFile('new1.xlsx');
console.log 正在记录“excel 文件创建成功”,但我没有看到任何文件创建位置。
最佳答案
1。您应该使用 writeFile
而不是 writeBuffer
workbook.xlsx.writeFile(excelFilePath);
(来源:https://github.com/exceljs/exceljs#writing-xlsx)
2。 xlsx-渲染器
我还建议使用xlsx-renderer
,它提供基于Template 和ViewModel 生成Excel 文件的功能。
模板 + ViewModel = Preaty XLSX
虚拟机:
{
"projects": [
{
"name": "ExcelJS",
"role": "maintainer",
"platform": "github",
"link": "https://github.com/exceljs/exceljs",
"stars": 5300,
"forks": 682
},
{
"name": "xlsx-import",
"role": "owner",
"platform": "github",
"link": "https://github.com/siemienik/xlsx-import",
...
这个库非常适合您的代码,因为它也基于 ExcelJs。
编辑:(2020年4月29日) 在实践中它由以下代码使用:
const result = await renderer.renderFromFile('./report-template.xlsx', { awesome:"Oh yeah!", items:[/*...*/]});
await result.xlsx.writeFile('./my-awesome-report.xlsx');
关于javascript - 使用exceljs Node 包创建xlsx文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61152214/