Javascript 使用exceljs节点包创建xlsx文件
我正在使用exceljs 3.8创建新的xlsx文件,但以下代码不起作用的原因是什么Javascript 使用exceljs节点包创建xlsx文件,javascript,node.js,file,npm,exceljs,Javascript,Node.js,File,Npm,Exceljs,我正在使用exceljs 3.8创建新的xlsx文件,但以下代码不起作用的原因是什么 createNewExcelFile: function (excelFilePath) { //excelFilePath: Provide path and file name for excel file // load exceljs module var workbook = new exceljs.Workbook();
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
(来源:)
2. <代码>xlsx渲染器
我还建议使用xlsx渲染器
,它提供了基于模板和ViewModel生成excel文件的功能
模板+视图模型=Preaty XLSX
模板:
VM:
{
"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
(来源:)
编辑:(29.04.2020)
在实践中,它由以下代码使用:
const result = await renderer.renderFromFile('./report-template.xlsx', { awesome:"Oh yeah!", items:[/*...*/]});
await result.xlsx.writeFile('./my-awesome-report.xlsx');
1.您应该使用writeFile
而不是writeBuffer
(来源:)
2. <代码>xlsx渲染器
我还建议使用xlsx渲染器
,它提供了基于模板和ViewModel生成excel文件的功能
模板+视图模型=Preaty XLSX
模板:
VM:
{
"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
(来源:)
编辑:(29.04.2020)
在实践中,它由以下代码使用:
const result = await renderer.renderFromFile('./report-template.xlsx', { awesome:"Oh yeah!", items:[/*...*/]});
await result.xlsx.writeFile('./my-awesome-report.xlsx');
你是说这个库会自动创建文件并向其中添加数据..也不需要创建任何空excel?是的,它使用以前准备的模板。并将数据放入以
##
开头的单元格中。它可以循环/插入超链接以及更多内容。这很好,因为它允许在不更改任何代码的情况下轻松更改模板。例如,当公司更改视觉标识时总是如此。我还在上面的文章中添加了如何使用它的代码。它很快将作为docker下的restful微服务提供。你是说这个库会自动创建文件并向其中添加数据。不需要创建任何空excel?是的,它使用以前准备的模板。并将数据放入以##
开头的单元格中。它可以循环/插入超链接以及更多内容。这很好,因为它允许在不更改任何代码的情况下轻松更改模板。例如,当公司更改视觉标识时总是如此。我还在上面的文章中添加了如何使用它的代码。它将很快在docker的领导下以restful微服务的形式提供。