JXL生成的excel文件+JAVA文件下载功能

news/2024/7/10 2:31:23 标签: excel, java, 报表, exception, 磁盘, string

一个需求,用户点击下载按钮,将指定的excel报表模板使用数据库数据渲染,然后下载到用户本地;

通常而言,对于一个文件的下载,可以有以下几种方式:

window.location.href=文件名称URL全路径;

window.open(文件名称URL全路径);

这种方式不友好的地方在于服务器的目录结构直接暴露出去,而且在IE下很有可能会报错权限问题等,甚至firefox中会触发那个年代久远而依然没有解决的bug。所以这里不推荐。

 

对于jxl生成excel文件,有两种方式,一种是生成文件保存到磁盘,另一种是直接保存到输出流中。

对于上述需求,如果生成的文件保存到磁盘,随着系统运行,磁盘会主键被占用,需要手动去删除。由于文件都较小,所以这里采用第二种方式,直接在内存中生成文件,然后提供给用户下载的时候response回去。

 

看一个例子:

用于响应下载请求的controller

 

其中调用到的文件服务

其中的重点就在于

这句话指定了写入的数据到输出流中。

 

页面调用很简单

 


http://www.niftyadmin.cn/n/1639066.html

相关文章

iview中modal新增、修改共用校验规则清除

xlecho编辑整理&#xff0c;欢迎转载&#xff0c;转载请声明文章来源。欢迎添加echo微信(微信号&#xff1a;t2421499075)交流学习。 百战不败&#xff0c;依不自称常胜&#xff0c;百败不颓&#xff0c;依能奋力前行。——这才是真正的堪称强大&#xff01;&#xff01; <M…

使用ANT发布项目

通常在eclipse中开发的web工程&#xff0c;测试的时候都会直接采用右键点击工程名称 -> run as -> on server -> 选择tomcat./jboss -> 启动运行 的方式&#xff0c;在开发阶段&#xff0c;这样的方式不但方便&#xff0c;而且基本上很多的问题都是eclipse帮我们完…

MyBatis配置mybatis-config中mappers报错-解决方案

xlecho编辑整理&#xff0c;欢迎转载&#xff0c;转载请声明文章来源。欢迎添加echo微信(微信号&#xff1a;t2421499075)交流学习。 百战不败&#xff0c;依不自称常胜&#xff0c;百败不颓&#xff0c;依能奋力前行。——这才是真正的堪称强大&#xff01;&#xff01; 在项目…

[Discuz]论坛搭建step by step

摘要&#xff1a;本文介绍如何从头开始搭建Discuz论坛&#xff0c;涉及具体内容为apache php tomcat mysql 等工具的配置和使用。 步骤&#xff1a; 1、环境配置以及基础工具安装 2、整合配置 3、安装Discuz 4、相关问题解决 1、环境配置以及基础工具安装 ------------…

MyBatis获取新增数据ID的几种方法

xlecho编辑整理&#xff0c;欢迎转载&#xff0c;转载请声明文章来源。欢迎添加echo微信(微信号&#xff1a;t2421499075)交流学习。 百战不败&#xff0c;依不自称常胜&#xff0c;百败不颓&#xff0c;依能奋力前行。——这才是真正的堪称强大&#xff01;&#xff01; 参考书…

代码之丑(九)——退让的缩进

这是一个让我纠结了很久的话题&#xff1a;缩进。 for (int j 0; j < attributes.size(); j) {Attr *attr attributes.get(j);if (attr NULL ) {continue;}int IsCallFunc -1;if(attr->status() STATUS_NEW || attr->status() STATUS_MODIFIED) {if(strcmp(attr…

MyBatis注解开发报错org.apache.ibatis.builder.IncompleteElementException-解决方案

xlecho编辑整理&#xff0c;欢迎转载&#xff0c;转载请声明文章来源。欢迎添加echo微信(微信号&#xff1a;t2421499075)交流学习。 百战不败&#xff0c;依不自称常胜&#xff0c;百败不颓&#xff0c;依能奋力前行。——这才是真正的堪称强大&#xff01;&#xff01; 出现错…

推荐一个不错的免费svn服务器unfuddle

www.unfuddle.com 经测试&#xff0c;速度还可以 对于本人开发的B2C商城&#xff0c;你可以通过 svn co http://normandy.unfuddle.com/svn/normandy_normandypositionii/NormandyPositionII 获取&#xff0c;具体的账户名密码申请请发送邮件至 quzishengmail.com