• 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', 20},
           {caption:'简介', type:'string', 40},
           {caption:'报酬', type:'string', 20},
           {caption:'时间', type:'string', 40},
           {caption:'人员', type:'string', 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的方法,提供思考

  • 相关阅读:
    图像处理之霍夫变换(直线检測算法)
    Linux makefile 教程 很具体,且易懂
    POJ 2001 Shortest Prefixes(字典树)
    android performClick使用
    Java工厂模式
    C#异步调用
    答读者问(5):有关数学对程序猿的作用、研发工作岗位要求和实习对找工作的影响等问题
    Android系统源码导入到eclipse
    开源项目与许可证
    Java实现第十届蓝桥杯矩形切割
  • 原文地址:https://www.cnblogs.com/yishifuping/p/9921545.html
Copyright © 2020-2023  润新知