注意,前情提示:
本代码基于《Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)》
传送门Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)_你挚爱的强哥❤给你发来1条消息❤-CSDN博客

在/api/demo/文件夹下面创建exportAndDownloadExcel.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

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

  1. c#读取生成excel表格文件xls、xlsx格式文件

    全栈工程师开发手册 (作者:栾鹏) c#教程全解 c#存储生成excel表格格式xls.xlsx格式的文件 需要电脑安装对应版本的office,并且在项目中引用excel 测试代码 static vo ...

  2. java xlsx怎么转换成excel格式_python小工具 | Excel的xls和xlsx格式文件转换

    众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...

  3. python win32选取文件夹_python小工具 | Excel的xls和xlsx格式文件转换

    众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...

  4. 实现Excel文件xls与xlsx格式批量互相转换

    目录 python实现方法 VBA实现方法 python实现方法 将文件夹中的所有xls或xlsx文件转换为xlsx或xls文件 import win32com.client as win32 # 需 ...

  5. java 使用 jacob 实现 将 freemarker 导出的 XML 格式的 excel 转 xls、xlsx 格式

    最近项目上有一个导出复杂excel的需求,发现无论是使用 poi 还是使用阿里巴巴的 easyexcel ,实际上都是编程式的方式,实现起来代码比较复杂而且不便于维护,于是决定采用 freemarke ...

  6. html选择文件用按钮,html点击button弹出挑选文件,上传,这个怎么实现?

    这个样式挺漂亮的,你可以试下: !DOCTYPE html html head meta http-equiv=Content-Type content=text/html; charset=utf- ...

  7. r语言导出文件为xlxs_R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  8. Node.js 在本地生成日志文件

    文章目录 Node.js 在本地生成日志文件 1.前言 2.什么是 fs 3.new console.Console(stdout, stderr, ignoreErrors) 4.node.js 生 ...

  9. 如何在不安装Microsoft Office的情况下用C#创建Excel(.XLS和.XLSX)文件?

    如何在不使用运行代码的计算机上安装Excel的情况下使用C#创建Excel电子表格? #1楼 我成功地使用了以下开源项目: OOXML格式的ExcelPackage(Office 2007) .XLS ...

最新文章

  1. OpenCV中 Mat 按行或按列合并程序
  2. YII2框架的excel表格导出
  3. ML之ME/LF:机器学习中回归预测模型评估指标(MSE/RMSE/MAE)简介、使用方法、代码实现、案例应用之详细攻略
  4. ios动画效果集锦(持续更新)
  5. Flutter路由管理代码这么长长长长长,阿里工程师怎么高效解决?(实用)
  6. python增加工作日列_将工作日添加到日期字段
  7. 用XenoCode 2006 加密dll(.NET
  8. Elasticsearch 安装的时候,Unsupported major.minor version 51.0问题的解决
  9. 适合于小团队且周期短的产品迭代的APP测试流程
  10. Android 一些笔记(这只是一些个人笔记)
  11. 列线图计算每个患者得分,并生成Roc曲线。
  12. 凯恩帝数控系统面板介绍_凯恩帝数控车床操作面板按钮详解!
  13. CodeForces-721A-One-dimensional Japanese Crossword
  14. 联想贺志强:联想专利其实很牛 只是你不知道
  15. matlab 曲线收敛,BP神经网络学习曲线收敛问题
  16. IOS 调用微信扫码二维码
  17. Cypher制作数据-武汉地铁二号线
  18. jsp+servlet实现商城购物车功能
  19. 求解矩阵Ax=b最小二乘问题
  20. 用Ai(adobe illustrator)制作文字放射效果

热门文章

  1. selenium+Python(鼠标和键盘事件)
  2. Centos7下安装Docker
  3. 将 instance 连接到 first_local_net - 每天5分钟玩转 OpenStack(82)
  4. 专题8-Linux系统调用
  5. c++ 的重载、覆盖、隐藏
  6. 创建Silverlight自定义启动画面
  7. 老齐学python的django 源代码_《跟老齐学Python:Django实战》真正的手把手“带”您学习...
  8. python类方法调用装饰_Python3 @classmethod 函数装饰器 声明一个类方法
  9. Java每日一讲讲什么好_撩课-Java每天10道面试题第1天
  10. linux ls没有反应_Linux入门②“命令格式”