nodejs实现导出、下载功能

财务类客户会经常需要将数据库中的数据以excel的形式导出,在此我选用 node-xlsx 模块,用于导出一份固定格式的excel,然后用express中的res.download方法,为前端提供文件下载。

#语法糖为coffeeScript
fs = require("fs")
xlsx = require("node-xlsx")
uuid = require("node-uuid")

exports.exportFile = (req,res)->
    data = [[1,2,3],['a','b','c']]
    buffer = xlsx.build([{name:'test',data:data}])
    filePath = __dirname + '/download/' + uuid.v1() + '.xlsx'
    #创建对应文件
    fs.writeFileSync(filePath,buffer,'binary')
    res.download(filePath)

如果只有少量文件可以不用将创建的文件删除(可以作为备份记录),如果文件量大且没有备份的意义,那么就需要在客户端下载完成后将对应的文件删除

你可能感兴趣的:(nodejs,导入导出)