node 导入 导出 下载excel
【摘要】
// 导入excelrouter.get('/uploadExcel', function (req, res) { let data = [ { name: '第一个sheet', data: [['字段1', '字段2', '字段3'], ['1', 'Michael', '99'], ['2', 'To...
-
// 导入excel
-
router.get('/uploadExcel', function (req, res) {
-
let data = [
-
{
-
name: '第一个sheet',
-
data: [['字段1', '字段2', '字段3'], ['1', 'Michael', '99'], ['2', 'Tom', '98']]
-
},
-
{
-
name: '第二个sheet',
-
data: [['A1', 'B1'], ['A2', 'B2']]
-
}
-
]
-
-
// 将格式化的数据写如excel文件
-
let buffer = xlsx.build(data)
-
fs.writeFile('./resut.xls', buffer, function (err) {
-
if (err) {
-
console.log(err, '保存excel出错')
-
} else {
-
console.log('写入excel成功!!!')
-
// 读取excel
-
var obj = xlsx.parse('./' + 'resut.xls')
-
console.log('读取excel成功' + JSON.stringify(obj))
-
-
// 下载excel表
-
res.setHeader('Content-Type', 'application/vnd.openxmlformats')
-
res.setHeader('Content-Disposition', 'attachment; filename=' + 'export.xlsx')
-
res.end(buffer, 'binary')
-
}
-
})
-
})
使用
node-xlsx 包的介绍点击此处 包进行excel的导入导出解析 支出
主要用到这个包的二个api:
xlsx.build():将格式化的数据转化为可保存excel的buffer流,参数为一个数组
xlsx.parse(): 将一个excel中的数据转化为数组
使用
-
res.setHeader('Content-Type', 'application/vnd.openxmlformats')
-
res.setHeader('Content-Disposition', 'attachment; filename=' + 'export.xlsx')
-
res.end(buffer, 'binary')
这三行代码是设置接口response的header 访问接口直接下载一个叫做export的excel文件
总体上node导入导出excel还是比较简单的,麻烦的在于数据的封装,以及一列一列的解析,判断,要知道用户在excel有可能填写了很多不规范的数据,这就需要我们的程序做很多的检查.规范人们的excel的导入模板
谢谢阅读.如果觉得对你有帮助请记得点赞或收藏.欢迎留言讨论.你的支持是我出产优秀博客的动力.
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/85045713
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)