javascript - 使用exceljs Node 包创建xlsx文件

标签 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(); //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

模板: Template file

虚拟机:

{
"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",
...

给予: enter image description here

这个库非常适合您的代码,因为它也基于 ExcelJs。

(来源:https://github.com/Siemienik/xlsx-renderer/tree/master/tests/integration/data/Renderer009-ForEach-Average)

编辑:(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/

相关文章:

node.js - 部署的 node.js 应用程序未显示在默认 IP 地址上,而 nginx 默认页面工作正常

javascript - 使用 JavaScript 返回数据

java - 从文本文件中读取,然后将值赋给数组

python - 如何在 python 代码中创建文件(如果可用,则默认为文本文件)

javascript - 根据设备打开链接

javascript - 在 MQTT 客户端 "Uncaught ReferenceError: Messaging is not defined"

node.js - MongoClient.connect - 错误: Could not locate any valid servers in initial seed list

javascript - 数据表未发布所有选定的项目

javascript - swiper.min.js 滚动条 : Force scrollbar

java - 保存 .txt 文件时出现错误或异常 (Java)