jsp 导出excel

第一种:poi+jsp导出excel

Jsp代码
1.<%@ page language="java" contentType="text/html;charset=GBK"%>
2.<%@ page import = "java.util.*"%>
3.<jsp:directive.page import="java.text.SimpleDateFormat"/>
4.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"/>
5.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFSheet"/>
6.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFRow"/>
7.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFCell"/>
8.<%@ page import="com.sinovatech.chinamobile.jxjfsc.model.dto.TJfscPartnerentryDTO"%>
<%@ page language="java" contentType="text/html;charset=GBK"%>
<%@ page import = "java.util.*"%>
<jsp:directive.page import="java.text.SimpleDateFormat"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFSheet"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFRow"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFCell"/>
<%@ page import="com.sinovatech.chinamobile.jxjfsc.model.dto.TJfscPartnerentryDTO"%> poi的包不多说了 剩下的就是jsp设置和自己用到的其他包

Jsp全部代码代码
1.<%@ page language="java" contentType="text/html;charset=GBK"%>
2.<%@ page import = "java.util.*"%>
3.<jsp:directive.page import="java.text.SimpleDateFormat"/>
4.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"/>
5.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFSheet"/>
6.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFRow"/>
7.<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFCell"/>
8.<%@ page import="com.sinovatech.chinamobile.jxjfsc.model.dto.TJfscPartnerentryDTO"%>
9.
10.<%
11. //设置excel的名字
12. String name = "download.xls";
13. response.reset();
14. response.setContentType("application/download");
15. response.setHeader("Content-Disposition", "attachment; filename=" + new String(name.getBytes("gbk"), "iso8859-1"));
16. //设置初始行数
17. int rownumber = 1;
18. //初始化Book
19. HSSFWorkbook wb = new HSSFWorkbook();
20. //建立个sheet
21. HSSFSheet sheet = wb.createSheet("sheet");
22. //设置列宽度
23. sheet.setColumnWidth((short) 0, (short) 3000);
24. sheet.setColumnWidth((short) 1, (short) 3000); //想导出几个字段就设置几个
25. // 表头信息
26. HSSFRow headers = sheet.createRow( (short) 0);
27. //建立单元格
28. HSSFCell header8 = headers.createCell( (short) 0) ;
29. //设置字符集
30. header8.setEncoding(HSSFCell.ENCODING_UTF_16);
31. //单元格的头名称 类似展现table时的列头
32. header8.setCellValue("礼品名称");
33.
34. HSSFCell header7 = headers.createCell( (short) 1) ;
35. header7.setEncoding(HSSFCell.ENCODING_UTF_16);
36. header7.setCellValue("礼品价格");
37.
38. //接受servlet传过来的list
39. if(request.getAttribute("list") != null){
40. ArrayList list = (ArrayList)request.getAttribute("list");
41. //遍历
42. for(int i = 0;i < list.size();i ++){
43. TJfscPartnerentryDTO dto = (TJfscPartnerentryDTO)list.get(i);
44. //插入数据 创建一行
45. HSSFRow headers_list = sheet.createRow((short)(rownumber));
46. //通过遍历把"每一列的" cell填充上自己的数据 需要几个字段就创建几个
47. HSSFCell header0_list = headers_list.createCell((short)0);
48. header0_list.setEncoding(HSSFCell.ENCODING_UTF_16);
49. header0_list.setCellValue(dto.getPartnername());
50.
51. HSSFCell header1_list = headers_list.createCell((short)1);
52. header1_list.setEncoding(HSSFCell.ENCODING_UTF_16);
53. header1_list.setCellValue(dto.getPetype());
54.
55.
56. rownumber++;
57. }
58.
59. }
60. wb.write(response.getOutputStream());
61. out.clear();
62. out = pageContext.pushBody();
63.%>
<%@ page language="java" contentType="text/html;charset=GBK"%>
<%@ page import = "java.util.*"%>
<jsp:directive.page import="java.text.SimpleDateFormat"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFSheet"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFRow"/>
<jsp:directive.page import="org.apache.poi.hssf.usermodel.HSSFCell"/>
<%@ page import="com.sinovatech.chinamobile.jxjfsc.model.dto.TJfscPartnerentryDTO"%>

<%
//设置excel的名字
String name = "download.xls";
response.reset();
response.setContentType("application/download");
response.setHeader("Content-Disposition", "attachment; filename=" + new String(name.getBytes("gbk"), "iso8859-1"));
//设置初始行数
int rownumber = 1;
//初始化Book
HSSFWorkbook wb = new HSSFWorkbook();
//建立个sheet
HSSFSheet sheet = wb.createSheet("sheet");
//设置列宽度
sheet.setColumnWidth((short) 0, (short) 3000);
sheet.setColumnWidth((short) 1, (short) 3000); //想导出几个字段就设置几个
// 表头信息
HSSFRow headers = sheet.createRow( (short) 0);
//建立单元格
HSSFCell header8 = headers.createCell( (short) 0) ;
//设置字符集
header8.setEncoding(HSSFCell.ENCODING_UTF_16);
//单元格的头名称 类似展现table时的列头
header8.setCellValue("礼品名称");

HSSFCell header7 = headers.createCell( (short) 1) ;
header7.setEncoding(HSSFCell.ENCODING_UTF_16);
header7.setCellValue("礼品价格");

//接受servlet传过来的list
if(request.getAttribute("list") != null){
ArrayList list = (ArrayList)request.getAttribute("list");
//遍历
for(int i = 0;i < list.size();i ++){
TJfscPartnerentryDTO dto = (TJfscPartnerentryDTO)list.get(i);
//插入数据 创建一行
HSSFRow headers_list = sheet.createRow((short)(rownumber));
//通过遍历把"每一列的" cell填充上自己的数据 需要几个字段就创建几个
HSSFCell header0_list = headers_list.createCell((short)0);
header0_list.setEncoding(HSSFCell.ENCODING_UTF_16);
header0_list.setCellValue(dto.getPartnername());

HSSFCell header1_list = headers_list.createCell((short)1);
header1_list.setEncoding(HSSFCell.ENCODING_UTF_16);
header1_list.setCellValue(dto.getPetype());


rownumber++;
}

}
wb.write(response.getOutputStream());
out.clear();
out = pageContext.pushBody();
%>





第二种:纯jsp导出excel(更偷懒)

Jsp代码
1.<%@ page contentType="application/download;charset=GBK"%>
2.<%@ page import="java.util.ArrayList,java.util.HashMap"%>
3.<%@ page import="com.sinovatech.chinamobile.jxjfsc.model.dto.TJfscPartnerentryDTO"%>
4.<%
5. String name = "download.xls";
6. name = new String(name.getBytes("GBK"), "ISO-8859-1");
7. response.setHeader("Content-Disposition", "attachment; filename=" + name);
8.%>
9.<head>
10. <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
11. <table width="100%" border="1" align="center" cellpadding="0" cellspacing="1" class="con_02">
12. <tr>
13. <td>
14. 列1
15. </td>
16. <td>
17. 列2
18. </td>
19. <td>
20. 列3
21. </td>
22. </tr>
23. <%
24. ArrayList list = (ArrayList)request.getAttribute("list");
25. if(list.size()>0)
26. {
27. for(int i = 0; i<list.size();i++)
28. {
29. TJfscPartnerentryDTO dto1 = (TJfscPartnerentryDTO)list.get(i);
30. %>
31. <tr>
32. <td><%= dto1.getPartnername()%></td>
33. <td><%= dto1.getPartnername()%></td>
34. <td><%= dto1.getPartnername()%></td>
35. </tr>
36.
37. <%
38. }
39. }
40. %>
41. </table>
42.</head>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值