jsp利用POI生成Excel并在页面中导出的示例
网络编程 2021-07-05 11:23www.168986.cn编程入门
本篇文章主要是介绍jsp利用POI生成Excel并在页面中导出的示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
java中导出Excel有两个组件可以使用,一个是jxl,一个是POI,我这里用的是POI。导出是可以在服务器上生成文件,然后下载,也可以利用输出流直接在网页 中弹出对话框提示用户保存或下载。生成文件的方式会导致服务器中存在着垃圾文件,实现方式不太优雅,所以这里我采用的是后面直接通过输出流的方式。
1、修改WEB服务器的CONF/web.xml,添加 Xml代码
<mime-mapping> <extension>xls</extension> <mime-type>application/vnd.ms-excel</mime-type> </mime-mapping>
如果不添加这个,那么在网页中下载的时候就变成了JSP文件
2、download.jsp文件
<%@ page contentType="application/vnd.ms-excel" language="java" import="java.util.,.shangyu.action.WriteExcel" pageEncoding="GBK"%><% response.setHeader("Content-Disposition","attachment;filename=test123.xls");//指定下载的文件名 response.setContentType("application/vnd.ms-excel"); WriteExcel we=new WriteExcel(); we.getExcel("111.xls",response.getOutputStream()); %>
注意不要有html代码,并且除了<% %> 中间的代码,其它的地方不要有空格。否则在导出文件的时候会在后台出现异常,虽然不影响程序的使用,到时令人看起来 不太舒服
3、WriteExcel.java 生成Excel的JavaBean,复杂的应用请查看API
package .shangyu.action; import java.io.; import .apache.poi.hssf.usermodel.HSSFWorkbook; import .apache.poi.hssf.usermodel.HSSFSheet; import .apache.poi.hssf.usermodel.HSSFRow; import .apache.poi.hssf.usermodel.HSSFCell; public class WriteExcel { public void getExcel(String sheetName,OutputStream output) { HSSFWorkbook wb=new HSSFWorkbook(); HSSFSheet sheet1=wb.createSheet("sheet1"); HSSFRow row=sheet1.createRow((short)0); HSSFCell cell=row.createCell((short)0); cell.setCellValue(1); row.createCell((short)1).setCellValue(2); row.createCell((short)2).setCellValue(3); row.createCell((short)3).setCellValue("中文字符"); row=sheet1.createRow((short)1); cell=row.createCell((short)0); cell.setCellValue(1); row.createCell((short)1).setCellValue(2); row.createCell((short)2).setCellValue(3); row.createCell((short)3).setCellValue("中文字符"); //FileOutputStream fileout=new FileOutputStream("workbook.xls"); try { output.flush(); wb.write(output); output.close(); } catch (IOException e) { e.printStackTrace(); System.out.println( "Output is closed "); } } }
通过以上三步,应该可以直接生成Excel文件下载或保存了,这在一些信息系统中相当有用。
上一篇:js实现百度地图同时显示多个路书效果
下一篇:js实现随机的四则运算题目效果
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程