`
2010_315
  • 浏览: 11145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

30秒 list 转化成 excel(STRUTS2+HIBERNATE+POI)

阅读更多
response.setContentType("application/vnd.ms-excel");
String fileName = "统计列表.xls";
response.setHeader("Content-Disposition", "attachment; filename="
+ java.net.URLEncoder.encode(fileName, "UTF-8"));

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet;
HSSFRow row;
HSSFCell cell;
HSSFCellStyle style = wb.createCellStyle();
HSSFCellStyle style2 = wb.createCellStyle();
HSSFCellStyle style3 = wb.createCellStyle();
HSSFFont font = wb.createFont();
HSSFFont font2 = wb.createFont();

// 目录栏样式
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// set cell border
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setBorderTop(HSSFCellStyle.BORDER_THIN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setWrapText(true);

// 标头样式
style2.setFillBackgroundColor(HSSFColor.GREEN.index);
// 设定此样式的的背景颜色填充
style2.setFillPattern(HSSFCellStyle.FINE_DOTS);
style2.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// set cell border
style2.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style2.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style2.setBorderTop(HSSFCellStyle.BORDER_THIN);
style2.setBorderRight(HSSFCellStyle.BORDER_THIN);

// 主体内容样式
style3.setAlignment(HSSFCellStyle.ALIGN_CENTER);
// set cell border
style3.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style3.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style3.setBorderTop(HSSFCellStyle.BORDER_THIN);
style3.setBorderRight(HSSFCellStyle.BORDER_THIN);

font.setColor(HSSFFont.COLOR_NORMAL);
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font2.setColor(HSSFFont.COLOR_RED);
font2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
font2.setFontHeightInPoints((short) 15);
style.setFont(font);
style2.setFont(font2);

sheet = wb.createSheet();
sheet.setColumnWidth((short)0,(short)3000);
sheet.setColumnWidth((short)1,(short)5000);
sheet.setColumnWidth((short)2,(short)34000);
sheet.setColumnWidth((short)3,(short)5000);
sheet.setColumnWidth((short)4,(short)3000);

wb.setSheetName(0, "汇总", HSSFCell.ENCODING_UTF_16);
sheet.setDefaultColumnWidth((short) 12);

// 第一行列表头
row = sheet.createRow(0);

cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("求助信息列表");
sheet.addMergedRegion(new Region(0, (short) 0, 0, (short) 11));
cell.setCellStyle(style2);

row = sheet.createRow(1);

cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("序号");
cell.setCellStyle(style);

cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("电话");
cell.setCellStyle(style);

cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("内容");
cell.setCellStyle(style);

cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("发布时间");
cell.setCellStyle(style);

cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("状态");
cell.setCellStyle(style);

cell = row.createCell((short) 5);


Mo mm = null;
int i = 0;
for ( ; i < moList.size(); i++) {
mm=(Mo) moList.get(i);
row = sheet.createRow(i + 2);

cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(mm.getId());//会员号
cell.setCellStyle(style3);
cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue(mm.getMobile()); //手机号
cell.setCellStyle(style3);
cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(mm.getMessage());
cell.setCellStyle(style3);
cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);

cell.setCellValue(mm.getCreatetime()); //性别
cell.setCellStyle(style3);
cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
if(("1").equals(mm.getStatus())){
cell.setCellValue("新发布");
}
else if(("1").equals(mm.getStatus())){
cell.setCellValue("待处理");
}
else if(("2").equals(mm.getStatus())){
cell.setCellValue("已核实");
}
else if(("3").equals(mm.getStatus())){
cell.setCellValue("无法核实");
}
else if(("4").equals(mm.getStatus())){
cell.setCellValue("删除");
}
else if(("5").equals(mm.getStatus())){
cell.setCellValue("已解决");
}
else if(mm.getStatus()==null){
cell.setCellValue("新发布");
}

cell.setCellStyle(style3);
cell = row.createCell((short) 5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);

}
OutputStream out = response.getOutputStream();
wb.write(out);
out.close();
log.info("SimpleJobStaticAction ends");
}
catch(Exception e)
{
log.info("CommodityAction出错");
e.printStackTrace();
}
return null;

1.注
页面编码:
<meta http-equiv="Content-Type" content="application/vnd.ms-excel; charset=utf-8" />
分享到:
评论

相关推荐

    SSH的整合(Struts2+Spring2.5+Hibernate3.2)

    SSH整合是Java开发中一种常见的框架集成方式,它结合了Struts2、Spring和Hibernate三个开源框架,以提高Web应用的开发效率和可维护性。本文将深入探讨SSH整合的关键概念、配置步骤以及如何实现基本的数据操作功能。 ...

    Excel导入后进行解析成实体

    使用struts和POI进行简单的Excel上传和解析,最后把Excel中的数据转化成类Person的实体,这是一个简单的案例,没有hibernate操作,相信只要知道怎么把Excel转换成实体并添加到List中,后面的都不是问题,本案例可以...

    java操作Excel poi

    1. **SSH框架**:如果项目基于SSH(Struts + Spring + Hibernate),则需要确保该框架已搭建完成。 2. **依赖库**:需要导入与Apache POI相关的JAR包。在Maven项目中可以通过添加依赖来实现,在非Maven项目中则需...

    java导出Excel(s2sh)

    Struts2、Spring 和 Hibernate(简称 S2SH)作为经典的 Java Web 开发框架组合,也经常用于开发支持多种功能的企业级应用。本文将详细介绍如何在 S2SH 项目中实现 Excel 的导出功能。 #### 关键知识点 1. **S2SH ...

    ssh整合web导出excel案例

    在本文中,我们将探讨如何在SSH(Spring、Struts2、Hibernate)框架下整合实现Web应用导出Excel文件的功能。SSH是一个广泛使用的Java Web开发框架,它提供了强大的数据持久层、MVC架构以及依赖注入等功能。在这个...

    java之hibernate和spring技术难点及其要点总结

    - **Struts2 + POI实现Excel文件导出**:另一种实现Excel文件导出的方法。 - **FOWARD与redirect的区别**:了解这两种跳转方式的不同之处对于Web开发尤为重要。 - **使用`Class.forName()`的作用**:解释这个方法的...

    ssh整合web导出excel案例.docx

    SSH整合是指Spring、Struts2和Hibernate这三大Java开源框架的集成,用于构建高效、灵活的企业级Web应用程序。在这个案例中,我们将探讨如何在SSH框架下实现从网页导出Excel文件的功能,而无需依赖第三方库如Apache ...

    S2SH导入excel表

    S2SH框架,即Struts2、Spring和Hibernate的组合,是Java Web开发中的经典MVC架构。在S2SH框架中进行Excel导入功能,可以帮助用户方便地将大量数据从Excel文件导入到数据库中,提高数据处理效率。以下是一个详细的...

    基于全注解的SSH2框架

    SSH2框架,即Spring、Struts2和Hibernate的集成,是Java开发Web应用程序的主流框架之一。在这个基于全注解的SSH2框架中,我们将深入探讨如何利用注解来简化配置,提高开发效率,并结合日志配置、数据库操作及Excel...

    SSH框架中关于EXCEL表格导入到MySQL数据库

    在Java开发领域,SSH(Spring、Struts和Hibernate)是一个常用的Web应用开发框架组合,它为企业级应用程序提供了模型-视图-控制器(MVC)架构。在这个特定的场景中,我们要探讨如何在SSH框架下将Excel表格数据导入到...

    68个常用开发手册

    struts2中文教程.chm struts2标签.chm tomcat5.5中文帮助文档.chm W3CSchool.chm w3school完整版.CHM WebGL自修教程.chm XML+Schema官方教程(9loong中文版)修正版2009.04.chm XmlSchema标准参考手册.chm ...

    java 学习的顺序(初学者)

    3. **Excel操作**:使用Apache POI库对Excel文件进行读写操作。 4. **购物车**:利用JSP和Servlet实现购物车功能。 5. **分页标签**:自定义分页显示数据的JSP和Servlet程序。 6. **文件上传与下载**:使用Servlet...

    Eclipse从入门到精通

    #### 五、Web开发篇:Tomcat+Lomboz+Struts+Hibernate开发环境 - **开发环境搭建**: - 下载并安装Tomcat、Lomboz、Struts、Hibernate等组件。 - 配置Eclipse与这些组件之间的连接,准备开发环境。 - **开发全...

    java技术点

    27. **Excel导入导出**:Apache POI库。 **中级知识点** 1. **Maven项目框架**:依赖管理,构建流程。 2. **TCP/UDP/HTTP通信**:Socket,DatagramSocket,HttpClient。 3. **会话跟踪**:session,cookie,URL...

    java最新面试宝典

    - Struts2与SpringMVC的区别。 - 如何处理表单验证。 **9.5 Hibernate框架** - **知识点概述:** - POJO与POI的区别。 - ORM(Object Relational Mapping)的实现。 - Session与SessionFactory的作用。 - ...

Global site tag (gtag.js) - Google Analytics