1.node安装 导入数据的模块
cnpm i node-xlsx -S
2.实现数据导入 ---- 读取文件信息
var xlsx = require('node-xlsx'); // 数据导入模块 // 导入的文件的绝对路径 var xlsxfile = "E:/myapp/product.xlsx" router.get('/upload', function (req, res, next) { // 1.读取文件的信息并且打印 res.send(xlsx.parse(xlsxfile)) })
3.实现数据导入 ---- 解析需要的数据
router.get('/upload', function (req, res, next) { // 1.读取文件的信息并且打印 // res.send(xlsx.parse(xlsxfile)) // [{}, {}] // 2、取数组中的第一个作为第一张表的数据 var obj = xlsx.parse(xlsxfile)[0] // res.send(obj) // {name:'',data:[[],[]]} // res.send(obj.data) // [[], [], []] 内层数组就是Excel表格的每一行的数据 // 3、获取数组的长度,循环遍历数据,组成需要的对象 var len = obj.data.length // 第一条数据是标题 ["品牌","产品名","数量","公司","价格"],下标从1开始 // 设计一个插入的数据 var insertData = [] for (var i = 1; i < len; i++) { insertData.push({ prorid: 'user_' + uuid.v1(), proname: obj.data[i][0], //["品牌","产品名","数量","公司","价格"] num: obj.data[i][1] * 1, brand: obj.data[i][2] * 1, company: obj.data[i][3], price: obj.data[i][4] + '', }) } })
4.实现数据导入 ---- 插入数据库
sql.insert(Pro, insertData).then(() => { res.redirect('/pros') })