数据库中的数据导出excel表格

node操作excel表格(超级简单)

  • 安装模块:
    node-xlsx模块:npm i node-xlsx -s;
    mysql模块:npm i mysql -s;
  • 配置数据库
var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',//数据库地址
  user     : 'root',//用户名
  password : '',///密码
  database : 'text'//数据库(库名)
});

module.exports={
    connection
} //node中的向外暴露方法
  • 代码块

(1).dome_excel_mysql(excel表格进行数据库储存)


const xlsx = require('xlsx'); 
const {connection} = require('./DB');
let workbook = xlsx.readFile('User.xlsx'); //User就是xls文档对象

let sheetNames = workbook.SheetNames; //获取表明

let sheet = workbook.Sheets[sheetNames[0]]; //通过表明得到表对象

var dataArr =xlsx.utils.sheet_to_json(sheet); //通过工具将表对象的数据读出来并转成json

connection.connect();
dataArr.forEach(item=> {
            var  addSql = 'INSERT INTO testuser(name,sid,phone,sex,unit,mail) VALUES(?,?,?,?,?,?)';
            var  addSqlParams = [item.name,item.sid,item.phone,item.sex,item.unit,item.mail];
            //增
            connection.query(addSql,addSqlParams,function (err, result) {
                if(err){
                console.log('[INSERT ERROR] - ',err.message);
                return;
                }        

            console.log('--------------------------INSERT----------------------------');      
            console.log('INSERT ID:', result);        
            console.log('-----------------------------------------------------------------\n\n');  
            });
    
});
connection.end();



(2).dome2_mysql_excel(数据库数据查询生成excle表格)


//  查询数据库 生成esel 表格
const {connection} = require('./DB');
var fs = require('fs');
var xlsx = require('node-xlsx');

connection.connect();
var  sql = 'SELECT * FROM user'; //user  数据库表
//查
connection.query(sql, (err, result) =>{
        var datas=[];
        var data=['id','name','sid','phone','sex','unit','mail']; 一行一行添加的 不是一列一列  文档的头
        datas.push(data);   
        if(err){
          console.log('[SELECT ERROR] - ',err.message);
          return;
        }
        result.forEach( item=> {
            // console.log(item.id);
            var data1=[item.id,item.name,item.sid,item.phone,item.sex,item.unit,item.mail];
            //一行一行添加的 不是一列一列
           datas.push(data1); 
        });
        writeXls(datas);
    //    console.log(result.id);
      
});
connection.end();
function writeXls(datas) {
    var buffer = xlsx.build([
        {
            name:'sheet1',
            data:datas
        }
    ]);
    fs.writeFileSync('test1.xlsx',buffer,{'flag':'w'});   //生成excel
}
console.log("完成");
  • 代码运行及运行方式(两种方法)

(1).cmd 运行方式

node excel_mysql

(2).工具运行(Visual Studio Code)
安装插件 Code Runnar。
选中要运行的js文件,右击Run Code

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值