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