node mysql 导出数据类型_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

//依次写入

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的方法,提供思考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值