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