`
Abby_success
  • 浏览: 17048 次
  • 性别: Icon_minigender_2
  • 来自: 重庆
社区版块
存档分类
最新评论

JSF中实现导出Excel的功能

阅读更多

在JSF的开发中,我们也常常会用到导出Excel的功能,以下代码是我在开发中的测试小实例:

首先是展示页面testExcel.xhtml:

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:rich="http://richfaces.org/rich"
      xmlns:a4j="http://richfaces.org/a4j"
      xmlns:t="http://myfaces.apache.org/tomahawk"
      xmlns:c="http://java.sun.com/jstl/core">
      <!--引用统一的模板-->
   <ui:composition template="pages/templates/Demotemplate.xhtml">
      <!--header区域-->
   <ui:define name="pageHeader">导出Excel界面</ui:define>
   <!--body区域-->
   <ui:define name="body">
  
        <h:form>
        
    <h:commandButton action="#{loginC.getExcel}" value="导出Excel"/>
        </h:form>
   </ui:define>
   </ui:composition>
</html>

在manageBean为loginC里面的实现方法为:

public void  getExcel(){
  System.out.println("in the method of getExcel()!! ");
  HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();
  ExcelBaseBean te = new ExcelBaseBean();
  te.setColnumHeader("ID");
  te.setColnumHeader("姓名");
  te.setColnumHeader("性别");
  te.setColnumHeader("出生日期");
  List list = userdao.getAllUser();
  HSSFWorkbook wb;
  response.reset();//清空输出流
        response.setContentType("application/ms-excel");//定义输出类型
  try {
   wb = te.makeExcel(list);
   response.setHeader("Content-Disposition", "attachment;filename="
         + new String("导出excel".getBytes("gb2312"), "ISO8859-1")
         + ".xls");
   wb.write(response.getOutputStream());
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
   FacesContext.getCurrentInstance().responseComplete(); //这语句很重要  如果不写,则会出现导出的Excel中内容为提交页面的代码,而不能显示出真正的查询的数据;
}

这里我用的是apache的poi实现生成Excel的功能(数据路用的是ibatis),以下是实现生成Excel的一个工具类:

 public class ExcelBaseBean {
 
  private List headerList = new ArrayList();
  /*
   * 该方法用于显示excel表格的第一行的数据(每一列数据的标题)
   * */
  public void setColnumHeader(String titleHeader){
   headerList.add(titleHeader);
     }
 
 
  /*
   * 该方法用于构造生成excel表格;
   * */
 public HSSFWorkbook   makeExcel(List list) throws Exception{
  
   System.out.println("in the method of makeExcel!!");
   HSSFWorkbook book=new HSSFWorkbook();
   HSSFSheet sheet=book.createSheet("sheet1");
   HSSFRow row;
   HSSFCell cell;
   int start = 0;
   if(headerList !=  null && headerList.size() > 0 ){
    start = 1;
    row=sheet.createRow(0);
    for(int i = 0;i < headerList.size();i++){
     cell = row.createCell(i);
     String v = (String) headerList.get(i);
     cell.setCellValue(v);
    }
   }
   for(int i = start;i < list.size();i++){
     row = sheet.createRow(i);
     LinkedHashMap   mapValue = (LinkedHashMap) list.get(i);
     Iterator it = (Iterator) mapValue.entrySet().iterator();
     int cellSum = 0;
     while(it.hasNext()){
     Map.Entry e = (Map.Entry) it.next();
     cell = row.createCell(cellSum);
     cell.setCellValue(e.getValue().toString());
     cellSum++;
     }
    }
    return  book;
   
 }

}

 

 

分享到:
评论

相关推荐

    poi读取并导出excel(jsf bean 页面的实现)

    POI读取并导出Excel(JSF Bean 页面的...通过使用POI库和JSF Bean,可以实现读取和导出Excel文件的功能,并且可以实现下载地址的可选性。同时,需要注意字符编码的处理和文件流的处理,以确保文件的正确传输和下载。

    生成Excel并在客户端下载的JSF实现

    通过以上步骤,我们可以在JSF应用中实现生成Excel文件并提供给客户端下载的功能。这种实现方式不仅提高了系统的灵活性,还极大地提升了用户体验。此外,Apache POI库的强大功能也为开发者提供了更多定制化选项,使得...

    报表导出excel word pdf html

    "报表导出excel word pdf html"这个主题涵盖了将数据导出为不同格式的技术,这些格式都是日常工作和交流中常用的文档类型。以下是关于这些格式以及如何在Java环境中实现导出的详细知识: 1. Excel:Microsoft Excel...

    生成Excel并在客户端下载的JSF实现[转]

    生成Excel并在客户端下载的JSF实现

    JSF+Spring+Hibernate配置以及分页查询和Excel文件导出

    在这个场景中,"JSF+Spring+Hibernate配置以及分页查询和Excel文件导出"是一个典型的企业级应用开发组合。下面将详细阐述这些技术及其整合方式。 1. JavaServer Faces (JSF): JSF是一种Java标准的MVC(模型-视图-...

    文件下载 用poi导出excel文档

    ### 文件下载:使用POI导出Excel文档 在日常工作中,我们经常需要处理大量数据,并将其以Excel格式导出供用户下载。Java中一个非常强大的工具包——Apache POI可以帮助我们实现这一需求。Apache POI是一个用于读写...

    jsf +jdbc+spring实现的增设改查,分页,导入数据。导出数据、日志

    JSF提供了组件和API来实现分页功能,允许用户按页面浏览数据。在后台,Spring和JDBC配合,根据当前页码和每页条目数量来执行相应的SQL查询。 5. **数据导入和导出**:在企业应用中,数据导入和导出是常见的需求。...

    ADF2007导出

    在标题和描述中,我们可以看到使用ADF来导出Excel 2007文件的需求。Excel 2007是Microsoft Office系列中的一个电子表格软件,它使用XLSX格式来存储数据。为了实现Excel 2007文件的导出,我们需要使用POI库。 POI...

    JXL使用模板通过el表达式生成excel文件

    JXL提供了`Workbook`类来代表整个Excel工作簿,`Sheet`类代表工作簿中的单个表格,而`Cell`类则对应Excel中的单个单元格。 **步骤3:替换EL表达式** 遍历Excel模板中的每个单元格,检查是否存在EL表达式。如果存在...

    jxl.jar 用于java读取 .xls 文件

    Java编程语言在处理数据时,有时需要与Microsoft Excel(.xls)文件进行交互,以便导入、导出或分析数据。在这种情况下,`jxl.jar`库是一个非常实用的工具,它允许开发者用Java轻松地读取和写入Excel文件。`jxl.jar`...

    蝙蝠在线考试系统v2.2.6 JSF2+SPRING+JPA

    本系统中的题库可以导出成一定格式的Excel文件,方便备份保存;也可以从符合格式规范的Excel文件中直接将题库导入到系统中,大大方便题库的快速编辑。  3、企业级技术性能,支持大并发数据访问。本系统采用JAVA技术...

    primefaces-6.0.rar

    将DataTable的内容导出成Excel与PDF。支持安全扩展。 FacesTrace模块提供跟踪JSF Web应用程序的各种工具包括:JSF LifeCycle可视化查看器;性能跟踪器; Log4J适配器;FacesMessage监听器;组件树可视化查看器

    JasperReports JSF Plugin-开源

    2. **集成方便**:该插件易于集成到现有的JSF应用中,只需要添加相应的依赖,就可以利用其丰富的报表功能。 3. **多种输出格式**:支持在Web浏览器中直接显示报表,同时也允许用户选择不同的输出格式进行下载,如...

    PrimeFacesV6.0.jar

    将DataTable的内容导出成Excel与PDF。支持安全扩展。 3、FacesTrace模块提供跟踪JSF Web应用程序的各种工具包括:JSF LifeCycle可视化查看器;性能跟踪器; Log4J适配器;FacesMessage监听器;组件树可视化查看器。

    SSH2框架所用到的jar包4

    在SSH2中,它们可以帮助开发者读写Excel数据,进行数据导入导出,或者生成报表。 3. **jfreechart-1.0.12.jar**: JFreeChart是一个Java图形库,可以创建各种统计图表,如折线图、柱状图、饼图等。在SSH2框架中,它...

    adf demo page

    3. **Oracle_ADF_EXCEL例子.doc** - ADF支持数据导出到各种格式,这里可能展示了如何将ADF数据导出为Excel格式,供用户进一步分析或处理。 4. **ADF分页forEach.doc** 和 **ADF 分页 Iterator.doc** - 这两份文档...

    人力资源管理(基于ssh的j2ee项目)附带lib包2

    这些库文件的组合,说明了项目不仅仅局限于基本的业务逻辑实现,还包含了报表生成、数据可视化、XML处理、Excel操作以及数据库连接等功能,使得人力资源管理系统更加全面和强大。开发者需要对Java EE、SSH框架、...

    cellweb5 华表插件

    6. **打印与导出**:支持表格的打印预览和导出为Excel、PDF等多种格式,方便数据共享和保存。 7. **兼容性与跨平台**:兼容主流的浏览器,如Chrome、Firefox、IE等,同时也适用于各种Java Web框架,如Spring、Struts...

    Primefaces dataExporter下載時顯示處理中1

    `p:dataExporter`组件用于导出Excel文件,`target`属性指定需要导出的数据表格ID,`fileName`属性设置下载文件的名称,`preProcessor`则可以自定义预处理函数,对导出的数据进行额外的处理。 需要注意的是,此解决...

    Javaweb实现工资管理系统.zip

    - 报表生成模块:生成工资单、部门薪资统计等报表,支持导出为Excel或PDF格式。 - 安全性:确保数据的安全传输,采用HTTPS协议,敏感信息加密存储。 通过这样的JavaWeb工资管理系统,企业可以高效、准确地处理...

Global site tag (gtag.js) - Google Analytics