返回顶部
首页 > 资讯 > 前端开发 > node.js >nodejs导出excel的方法
  • 167
分享到

nodejs导出excel的方法

方法nodejsexcel 2022-06-04 17:06:28 167人浏览 薄情痞子
摘要

本文实例讲述了nodejs导出excel的方法。分享给大家供大家参考。具体如下: nodejs 对查询数据生成excel并下载,采用方式先生成本excel文件,然后再下载;通过比较采用excel-expor

本文实例讲述了nodejs导出excel的方法。分享给大家供大家参考。具体如下:

nodejs 对查询数据生成excel并下载,采用方式先生成本excel文件,然后再下载;通过比较采用excel-export插件代码如下:

excel.js代码:


var extend = require("extend");
var fs = require("fs");
var excelExport = require('excel-export');
var guid=require('guid');
var path=require('path');
var excel=function(){
this.req=null;
this.resp=null;
};

excel.prototype.createExcel=function(params){
var setting={savePath:"uploadFile/excel/"};
setting=extend({},setting,params);
var uuid=guid.create();
var data=params.data||"";
var result = excelExport.execute(data);
var name='excel'+uuid+'.xlsx';
var filePath= path.resolve(setting.savePath, name);
fs.writeFile(filePath, result, 'binary',function(err){
setting.cb(filePath);
});
}

excel.prototype._calStartPosition = function(range) {
var startPos = 0;
if( typeof range != 'undefined') {
var startPosMatch = /^bytes=([0-9]+)-$/.exec(range);
startPos = Number(startPosMatch[1]);
}
return startPos;
}
excel.prototype._configHeader = function(config) {
var startPos = config.startPos,
fileSize = config.fileSize,
resp = this.resp;
// 如果startPos为0,表示文件从0开始下载的,否则则表示是断点下载的。
if(startPos == 0) {
resp.setHeader('Accept-Range', 'bytes');
} else {
resp.setHeader('Content-Range', 'bytes ' + startPos + '-' + (fileSize - 1) + '/' + fileSize);
}
resp.writeHead(206, 'Partial Content', {
'Content-Type' : 'application/octet-stream'
});
}
excel.prototype._init = function(filePath, down) {
var config = {};
var self = this;
fs.stat(filePath, function(error, state) {
if(error)
throw error;
config.fileSize = state.size;
var range = self.req.headers.range;
config.startPos = self._calStartPosition(range);
self.config = config;
self._configHeader(config);
down();
});
}

excel.prototype.download = function(filePath,req,res,isDeleted) {
var self = this;
self.req=req;
self.resp = res;
path.exists(filePath, function(exist) {
if(exist) {
self._init(filePath, function() {
var config = self.config
resp = self.resp;
fReadStream = fs.createReadStream(filePath, {
encoding : 'binary',
bufferSize : 1024 * 1024,
start : config.startPos,
end : config.fileSize
});
fReadStream.on('data', function(chunk) {
resp.write(chunk, 'binary');
});
fReadStream.on('end', function() {
//是否删除文件
if(isDeleted) {
fs.unlink(filePath, function (err, res) {
});
}
resp.end();
});
});
}
else {
console.log('文件不存在!');
return;
}
});
}
module.exports=new excel();

调用方式:


var excel=require('../lib/excelHelper.js');
exports.exportExcel=function(req,res){
var conf ={};
conf.cols = [
{caption:'string', type:'string'},
{caption:'date', type:'string'},
{caption:'bool', type:'bool'},
{caption:'number', type:'number'}
];
conf.rows = [
['pi', '2015-06-29', true, 3.14],
["e", '2015-06-29', false, 2.7182]
];
var filename ="导出excel.xlsx";
res.setHeader('Content-Disposition', 'attachment; filename='+encodeURIComponent(filename));
excel.createExcel({
data:conf,
savePath:"uploadFile/excel/",
cb:function(path){
excel.download(path,req, res,true);
}
});
}

希望本文所述对大家的nodejs程序设计有所帮助。

--结束END--

本文标题: nodejs导出excel的方法

本文链接: https://lsjlt.com/news/12281.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • nodejs导出excel的方法
    本文实例讲述了nodejs导出excel的方法。分享给大家供大家参考。具体如下: nodejs 对查询数据生成excel并下载,采用方式先生成本excel文件,然后再下载;通过比较采用excel-expor...
    99+
    2022-06-04
    方法 nodejs excel
  • 如何将nodejs导出excel
    Excel 是一种常见的办公软件,许多企业和组织都将其用来进行数据分析和处理。在 Web 开发中,经常需要将一些数据导出到 Excel 表格中,以便用户下载和查看。在本文中,我们将介绍如何使用 Node.js 实现将数据导出为 Excel ...
    99+
    2023-05-14
  • Springboot实现导入导出Excel的方法
    目录一、添加poi的maven依赖二、自定义注解(Excel属性标题、位置等)三、CustomExcelUtils编写四、定义导出实体类五、Controller层代码编写一、添加po...
    99+
    2024-04-02
  • 聊聊nodejs模块导出方法
    Node.js是一个非常流行的服务器端JavaScript运行时环境,它可以在我们的服务器端直接运行JavaScript代码。在Node.js中,模块是一种用于组织和封装代码的技术。导出方法允许我们从一个模块中暴露出我们所希望的部分,以供其...
    99+
    2023-05-14
  • nodejs动态导出多个方法
    在Node.js中,一个JavaScript模块通常只导出一个方法或对象。但是在某些情况下,我们可能需要从同一个模块中导出多个方法。在这种情况下,我们可以使用动态导出方法。本文将介绍如何在Node.js中动态导出多个方法。什么是动态导出?动...
    99+
    2023-05-14
  • DbgridEh数据导出到Excel的方法(Delphi)
    本文内容严重参考了网上其他牛人的代码,并做了一些修改,使得参数更加简单,结构更清晰,所以就厚着脸皮说是原创。   uses DBGridEhImpExp; procedure TFrm_func.DbGridEhToExcel(ADgEh:...
    99+
    2019-08-18
    DbgridEh数据导出到Excel的方法(Delphi) 数据库入门 数据库基础教程
  • MySQL实现导出excel的方法分析
    本文实例讲述了MySQL实现导出excel的方法。分享给大家供大家参考,具体如下: MySQL 要导出成 excel 文件很简单,执行类似这样的命令: select * from 某个表 in...
    99+
    2024-04-02
  • mysql使用sql导出成excel的方法
    这篇文章主要介绍“mysql使用sql导出成excel的方法”,在日常操作中,相信很多人在mysql使用sql导出成excel的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Python django导出excel的方法是什么
    这篇文章主要讲解了“Python django导出excel的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python django导出excel的方法是什么”吧!一、基础环境w...
    99+
    2023-06-25
  • redis导出到excel的方法是什么
    Redis是一个内存数据库,不直接支持将数据导出到Excel。但是可以通过编写脚本或使用第三方工具将数据从Redis导出到Excel...
    99+
    2023-09-11
    redis
  • tp6 thinkphp6 excel导入导出 PHPExcel导入导出excel
    tp6 thinkphp6 Excel导入导出,主要是使用了PHPExcel类库。 php导出excel数字太长尾数变000解决方法 导出时为什么数字字段要加“\t”。是因为,由于数字超过15位,会被显示成0或者加小数点处理。造成这种情况是...
    99+
    2023-08-31
    php 数据库 服务器
  • mysql数据库表导出到excel的方法
    mysql数据库表导出到excel的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql数据库表导出到excel的...
    99+
    2024-04-02
  • 从SQL Server中导入和导出Excel的基本方法
    这篇文章主要讲解了“从SQL Server中导入和导出Excel的基本方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“从SQL Server中导入和导出E...
    99+
    2024-04-02
  • 使用Python导出Excel图表以及导出为图片的方法
    本篇讲下如何使用纯python代码将excel 中的图表导出为图片。这里需要使用的模块有win32com、pythoncom模块。 网上经查询有人已经写好的模块pyxlchart,具体代码如下: fro...
    99+
    2022-06-04
    图表 方法 图片
  • React.js前端导出Excel的方式
    目录前言实现方式csv 与 Excel 的区别react-csvxlsxcdn 方式在 react 中使用json 转 excel结语前言 前段时间,项目上有个需求需要将数据报表导出...
    99+
    2024-04-02
  • java中excel导出乱码解决方法
    错误方式:response.setHeader("Content-Disposition", "inline;filename="+ new String(fileName.getBytes(),"utf-8")); String file...
    99+
    2016-02-24
    java 乱码
  • SSM框架使用poi导入导出Excel的详细方法
    1.首先我们先导入poi和文件上传的依赖 <!--POI--> <dependency> <groupId>org.a...
    99+
    2024-04-02
  • JavaScript 中使用SpreadJS导入和导出 Excel 文件的方法
    目录设置 JavaScript 电子表格项目添加 Excel 导入代码将数据添加到导入的 Excel 文件添加迷你图添加 Excel 导出代码JavaScript在前端领域占据着绝对...
    99+
    2024-04-02
  • SQL Server 导出Excel有换行的解决方法
    有换行符的字段在 Select 语句中字段名前后添加双引号。...
    99+
    2024-04-02
  • 纯JS将table表格导出到excel的方法
    html <div > <button type="button" onclick="getXlsFromTbl('tableExcel','myDiv...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作