关于jsp页面转换成excel格式下载遇到问题及解决
jsp页面转成excel格式的实现思路:
1.使用poi包:poi-bin-3.9-20121203
下载连接地址:http://www.apache.org/dyn/closer.cgi/poi/release/bin/poi-bin-3.9-20121203.tar.gz
import org.apache.poi.hssf.usermodel.*;
这个包可以帮助实现下载excel模版的设计,简单易用,功能也非常强大。
HSSFWorkbook workBook = new HSSFWorkbook();//是操作Excel2003的版本,扩展名是xls HSSFSheet sheet = workBook.createSheet();//创建工作簿 HSSFRow row1 = sheet.createRow(1);//创建一行 HSSFCell cell0 = row1.createCell(0);//创建单元格 cell0.setCellValue("对账单ID:");//给单元格赋值
2.将创建的excel文档转换成需要输出的流:可以是文件流放在硬盘中,也可以是输出流输出到浏览器供下载。 ◆ 文件流:FileOutputStream
FileOutputStream fos = new FileOutputStream("F://workbook.xls");
workBook.write(fos);
fos.close();
◆ 输出流 :response.getOutputStream()
response.reset();
response.setContentType("application/vnd.ms-excel;charset=gbk");
response.setHeader("Content-Disposition", "attachment;filename=account.xls");
OutputStream out = response.getOutputStream();
workBook.write(out);
out.close();
◆ tip:
*response.reset();清除首部的空白行
* getResponse的getWriter()方法连续两次输出流到页面的时候,第二次的流会包括第一次的流,
* 所以可以使用response.reset或者resetBuffer的方法。
* resetBuffer方法与reset方法的区别是,头和状态码没有清除。
如果发现这样设置后浏览器端并没有弹出【文件另存为】选择路径窗口,请检查下前面代码是否出现:
1.response.setContentType("text/html;charset=UTF-8");//设置编码格式
2.PrintWriter out = response.getWriter();导致无法确定输出流
3、excel文件名为中文时乱码或者出现未知文件类型错误时,考虑用URLEncoder对文件名进行转码
String name = java.net.URLEncoder.encode(fileName, "utf-8");
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename="+name.toString()+".xls");
OutputStream out = response.getOutputStream();
workBook.write(out);
out.close();
关于jsp页面转换成excel格式下载遇到问题及解决的更多相关文章
- JavaScript实现html页面转换成图片格式
本文提供三个JavaScript插件,并提供对应GitHub地址,自行查看使用方法: 1)dom-to-image:dom-to-image 2)html2canvas:html2canvas 3)r ...
- PDF文件转换成Excel表格的操作技巧
我们都知道2007以上版本的Office文档,是可以直接将文档转存为PDF格式文档的.那么反过来,PDF文档可以转换成其他格式的文档吗?这是大家都比较好奇的话题.如果可以以其他格式进行保存,就可以极大 ...
- ABBYY如何把图片转换成pdf格式
在制作工作文件的时候,有时候会遇到需要进行文件格式转换的情况,比较常见的文件格式转换就包含了Office与pdf格式之间的转换.但除此之外,图片与pdf格式也是可以进行转换的,那么图片要怎么操作,才能 ...
- 【jsPDF】jsPDF插件实现将html页面转换成PDF,并下载,支持分页
1.目的:在前段是 jQuery库 或者 VUE库 或者两者混合库,将html 页面和数据 转换成PDF格式并下载,支持分页 1.项目背景: 对客户报修记录进行分类统计,并生成各种饼图.柱状图.线性图 ...
- 【转】qlv文件如何转换成mp4 怎样把下载好的qlv格式视频转换成MP4格式
狸窝 复制 收藏 保存到桌面 快速找教程方案 反馈需求 社会主义核心价值观 客服QQ41442901 马上注册 升级VIP 对于视频文件之间的转换问题,我也已经是无力吐槽了,每个 ...
- 分别用Excel和python进行日期格式转换成时间戳格式
最近在处理一份驾驶行为方面的数据,其中要用到时间戳,因此就在此与大家一同分享学习一下. 1.什么是时间戳? 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01 ...
- 将数字转换成Excel表头格式的字母序号
/** * 从0开始算起,0-25转A-Z * @param num * @return Character.valueOf((char)((num-1)+65))+&quo ...
- JAVA:借用OpenOffice将上传的Word文档转换成Html格式
为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl+A,进入发布文章页面,Ctrl ...
- 在JSP页面中输出JSON格式数据
JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...
随机推荐
- arcgis for javascript 自定义infowindow
arcgis 自己的infowindow 太难看了,放在系统中与系统中的风格格格不入,在参考了网上的一些资料后,整理编写了适合自己系统的infowindow,与大家分享. 1.自定义展示效果 2.In ...
- Linux shell for while 循环
1.数字段形式for i in {1..10}do echo $idone 2.详细列出(字符且项数不多)for File in 1 2 3 4 5 do echo $File done ...
- MySQL学习笔记(四):存储引擎的选择
一:几种常用存储引擎汇总表 二:如何选择 一句话:除非需要InnoDB 不具备的特性,并且没有其他办法替代,否则都应该优先考虑InnoDB:或者,不需要InnoDB的特性,并且其他的引擎更加合适当前情 ...
- HTML基础知识(未完待续)
一.HTML编辑工具:Sublime Text 二.HTML实体字符:1.( 空格): : 2.(<) <: 3.(>)>: 4.(&)&a ...
- JMeter学习笔记-JForum环境搭建
一.准备环境 1. Java环境安装配置(JDK+JRE+环境变量) 2. Tomcat下载安装 下载地址: 安装教程:http://jingyan.baidu.com/article/870c6fc ...
- Redis-简单实现星形主从配置
高级参考(https://www.zhihu.com/question/21419897) 简单应用场景 现在配置redis 星形 集群, 有三台服务器, 怎样实现? 复制redis.conf两份, ...
- Struts2漏洞解决
如果你也正在使用Struts2作为web层框架做开发或者做公司的送检产品,然后被告知有各种各样的Struts2漏洞,那本篇博客值得你花时间来喽上一两眼. 前端时间抽空为公司做了新一代的送检产品,为了方 ...
- 如何使用Androidstudio创建一个新项目
首先打开AS,然后 选择第一个选项Start a new Android Studio project 填写包名和项目名,点击next 选择项目类型,点击next 选择UI类型(都是死丢丢帮你生成的) ...
- 初学Python之 安装包的抉择~~
上面的都是windows系统平台的安装包,哇,有没有后宫三千,不知道"临幸"哪一个的感觉~.~ 看了下面的你就明白啦. 毫无疑问,x86适合32位操作系统:x86-64适合64位操 ...
- java_弹球小游戏
弹球游戏实现原理: 隔一定时间(小于1秒)重新绘制图像,因为Graphics类是一个抽象类,创建子类的时候需要把所有涉及的方法都得重写,所以这里使用的是创建Canvas的子类,只需要重写它的paint ...