node讀寫Excel操作


目支持寫Excel的node.js模塊:

node-xlsx: 基於Node.js解析excel文件數據及生成excel文件;

excel-parser: 基於Node.js解析excel文件數據,支持xls及xlsx格式文件;

excel-export : 基於Node.js將數據生成導出excel文件,生成文件格式為xlsx;

node-xlrd: 基於node.js從excel文件中提取數據,僅支持xls格式文件。

下面通過node-xlsx模塊來操作Excel文件。

 

1、安裝node-xlsx模塊

每次npm的時候,走國外的鏡像,非常的慢,甚至安裝失敗,可以配置一下

通過改變默認npm鏡像代理服務,以下三種辦法任意一種都能解決問題,建議使用第三種,將配置寫死,下次用的時候不用重新配置。

通過config命令

npm config set registry https://registry.npm.taobao.org

npm info underscore (如果上面配置正確這個命令會有字符串response)

命令行指定

npm --registry https://registry.npm.taobao.org info underscore

編輯 ~/.npmrc 加入下面內容

registry = https://registry.npm.taobao.org

 

注:有時候執行npm會失敗,提示

Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\node_modules\npm\bin\npm-cli.js'

此時發現node_modules文件夾下npm文件加不存在,經常會出現這樣的情況,於是我對此文件夾做個備份。

 

安裝node-xlsx

npm install node-xlsx

安裝成功后,會在node_modules文件夾存在node-xlsx文件夾

2、讀寫xlsx

 JavaScript Code 
var xlsx = require('node-xlsx');
var fs = require('fs');

var data = [
    {
        name : 'sheet1',
        data : [
            [
                'ID',
                'Name',
                'Score'
            ],
            [
                '1',
                'Michael',
                '99'

            ],
            [
                '2',
                'Jordan',
                '98'
            ]
        ]
    },
    {
        name : 'sheet2',
        data : [
            [
                'AA',
                'BB'
            ],
            [
                '23',
                '24'
            ]
        ]
    }
]

// 寫xlsx
var buffer = xlsx.build(data);
fs.writeFile('./resut.xls', buffer, function (err)
{
    if (err)
        throw err;
    console.log('Write to xls has finished');
    
// 讀xlsx
    var obj = xlsx.parse("./" + "resut.xls");
    console.log(JSON.stringify(obj));
}
);

 


注意:文件擴展名可以是xls,也可以是xlsx

運行后輸出:

 

附錄:使用nodemonnode自動重啟

在我們開發node項目的時候,修改了服務的代碼,但是node並自動重啟來生效,必須手動去重啟一下,這樣很煩人的啊,很浪費時間,於是就有大神開發了自動重啟的工具——nodemon,很簡單的。

  1. npm install -g nodemon  

此時就可以用nodemon來代替node命令,執行服務器端js腳本了~

 


免責聲明!

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



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