簡體   English   中英

使用 exceljs 節點 package 創建 xlsx 文件

[英]Using exceljs node package create xlsx file

我正在使用 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

xlsx-renderer

我還建議使用xlsx-renderer ,它提供基於模板和 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。

(來源: https://github.com/Siemenik/xlsx-renderer/tree/master/tests/integration/data/Renderer009-ForEach-Average

編輯:(29.04.2020)在實踐中,它被以下代碼使用:

const result = await renderer.renderFromFile('./report-template.xlsx', { awesome:"Oh yeah!", items:[/*...*/]});
await result.xlsx.writeFile('./my-awesome-report.xlsx');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM