node讀寫xlsx文件


  開頭先簡單介紹,這是一個讀寫Excel,xlsx的功能,主要是幫助我們去打印或者讀寫一些數據的。

  應用場景:主要的應用場景是用戶需要導出數據的時候,類似我們在一個網站上消費了好幾年的金額,我們需要查看流水賬,我們作為開發人員就可以將數據在node的服務層進行對應的整理,再通過寫成一個Excel給到客戶使用。

  step1:加載模塊

  使用模塊:fs--主要用於寫入文件;

       node-xlsx主要用於轉換xlsx數據和讀取xlsx的文件數據;

const fs = require('fs')
const xlsx = require('node-xlsx');      // 讀寫xlsx的插件

  step2:讀取功能

  讀取功能相對簡單,直接使用模塊的prase(路徑)方法就能讀取

var list = xlsx.parse("./doc/hello.xlsx");

  返回結果,name:表名,data:二維數組--由於Excel以表格的形式表示,因此表格的數據都是通過二維數組進行接收。

[ { name: 'firstSheet', data: [ [Array], [Array] ] },
  { name: 'secondSheet', data: [ [Array], [Array] ] } ]

  step3:寫入功能

  寫入功能,對應的寫入數據與上面讀取功能的返回格式需要一致,以數組的形式,name:表名,data:二維數組--Excel每行每列的數據。

  如下面代碼,生成一個Excel文件,分別兩張表,表名分別是firstSheet,secondSheet

let xlsxObj = [
    {
        name: 'firstSheet',
        data: [
            [1, 2, 3],
            [4, 5, 6]
        ],
    },
    {
        name: 'secondSheet',
        data: [
            [7, 8, 9],
            [10, 1, 12]
        ],
    }
]

  生成Excel文件

  fs.writeFileSync(路徑,Buffer數據)

  xlsx.build(xlsxObj)會將數組轉換為Buffer數據

  執行下面命令就會生成對應的Excel文件。

fs.writeFileSync('./doc/hello.xlsx',xlsx.build(xlsxObj),"binary");

  以上就是通過node對Excel表格進行的讀取新建寫入操作。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM