注意,前情提示:
本代码基于《Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)》

在/api/demo/文件夹下面创建exportAndDownloadExcel.js

Node.js实现服务器端生成Excel文件(xls格式、xlsx格式文件)并弹出下载文件_node.js

代码内容

const $g = global.SG.$g, fs = global.SG.fs, router = global.SG.router, xlsx = global.SG.xlsx;
module.exports = global.SG.router;

const excelData = [
["表头第一列", "表头第二列", "表头第三列"],
["第一行第一列", "第一行第二列", "第一行第三列"],
["第二行第一列", "第二行第二列", "第二行第三列"],
["第三行第一列", "第三行第二列", "第三行第三列"]];
const tempExcelFilePath = "./temp/download/{fileName}.xlsx";//临时存储下载导出文件的位置(定时一会儿后就会自动删除对应文件夹的文临时文件)
const exportExcelFileName = "强哥导出的文件名.xlsx";
const sheetName = "强哥的Sheet";
const mkdirs = $g.dir.mkdirsByFilePath;//递归创建文件夹目录(基于文件路径)

//导出Excel,必须使用get方式,在客户端用window.open直接访问接口就可以下载了
router.get("/demo/exportAndDownloadExcel", (req, res) => {
const randomFilePath = tempExcelFilePath
.replace(/{fileName}/g, `sgExportExcel-${$g.date.timestamp()}`);
mkdirs(randomFilePath, () => {
const buffer = xlsx.build([{name: sheetName, data: excelData}]);
fs.writeFile(randomFilePath, buffer, err => {
console.log(`${$g.date.nowtime()}写入&创建${randomFilePath}${err ? "失败" : "成功"}`);
res.download(randomFilePath, exportExcelFileName, err => {
console.log(`${$g.date.nowtime()}下载${randomFilePath}${err ? "失败" : "成功"}`);
err || $g.dir.delayDestroyFile(randomFilePath);//延时60秒销毁服务器文件
});
});
}
);
});

在index.js最后一行加入

app.use(API_PATH, require(`.${API_PATH}/demo/exportAndDownloadExcel`));//导出并下载Excel

运行

cnpm i node-xlsx & node index
java 定义系统状态码 java状态模式实现工作流

usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceWF {//工程名称:通过工作流状态进行工作流管理///Author:Evan Lee///编写时间:2011-05-08/// {//通过工作流状态进行工作流管理//staticvoidMain(string[] args) {intstart=0;whil