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