node如何導出數據成為excel格式


node的應用方式,導出數據

首先,你要把數據庫連接上,把你要導的數據表寫出來

安裝模塊

$ npm install sequelize
$ npm install mysql
$ npm install excel-export

引入數據庫

const Sequelize = require('sequelize')
var mysql = new Sequelize('node', 'root', '123456', {
    host: 'localhost',
    dialect: 'mysql',
    pool: {
        max: 20,
        min: 5,
        idle: 30000
    },

})

module.exports = mysql

  引入數據庫表結構

//引入數據庫
const mysql = require('./db_config.js')
const Sequelize = require('sequelize')
//定義表結構
var rizhi = mysql.define('rizhi', {
    id: {
        primaryKey: true,
        type: Sequelize.INTEGER,
    },
    content: Sequelize.STRING,
    summary: Sequelize.STRING,
    user: Sequelize.STRING,
    day: Sequelize.STRING,
}, {
        freezeTableName: true, // Model 對應的表名將與model名相同
        timestamps: false
});

//傳值
module.exports = rizhi

  獲取表內容

//引入表結構
const rizhi = require('../config/DBConfig.js')
// 列表展示
const hello1 = async function (obj) {
    //查詢id大於0的所有內容
    let loge = await rizhi.findAll({
        where: {
            id: { gt: 0},
        },
  //取消格式化      
        raw:true
    }) 
    return loge
}
//傳出方法
module.exports = {
    hello1
}

  把表導出其他格式

//引入fs模塊
const fs = require('fs')
//引入excel模塊
var excelPort = require('excel-export');
//引入表內容
const services = require(`../service/LogService`);
    
const write = function(datas){
    //定義一個對象,存放內容
    var conf = {};
    //定義表頭
    conf.cols = [
       {caption:'名稱', type:'number', width:20},
       {caption:'簡介', type:'string', width:40},
       {caption:'報酬', type:'string', width:20},
       {caption:'時間', type:'string', width:40},
       {caption:'人員', type:'string', width:30},
    ];
    //創建一個數組用來多次遍歷行數據
    var array = [];
    // 循環導入從數據庫中獲取的表內容
    for (var i=0;i<datas.length;i++){
        //依次寫入
        array[i] = [
            datas[i].id,
            datas[i].content,
            datas[i].summary,
            datas[i].user,
            datas[i].day
        ];
    }
    //寫入道conf對象中
    conf.rows = array;
    //生成表格
    var result = excelPort.execute(conf);
    // 定義表格存放路徑
    fs.writeFile('util/util.xlsx', result, 'binary',function(err){
        if(err){
            console.log(err);
        }
    });
}
//調取數據方法
async function hellos(){
    let res = await services.hello1()
    // 把數據傳個datas
    write(res)
}
//運行方法
hellos()

  以上就是node導出excel的方法,提供思考


免責聲明!

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



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