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

struts2 excel导出的代码

阅读更多

前一篇关于excel导出的文章,在本机上测试是没有什么问题的,但是应用程序布置在linux服务器上时会出现乱码问题,所以又找了一个关于excel导出的程序,具体步骤如下:

1.配置文件:

<action name="exportUserExcel" class="userAction" method="exportUserExcel">
   <result name="input">/WEB-INF/pages/admin/listUser.jsp
   </result>
</action>

2.导出函数

/**
  * 导出所有用户的列表
  *
  * @return
  * @throws Exception
  */
 public String exportUserExcel() throws Exception {

  HttpServletResponse response = ServletActionContext.getResponse();
  // 定义request ,response.

  // 查询下载附件.
  // 设置下载头信息.begin
  response.setCharacterEncoding("UTF-8");
  response.setContentType("file");
  response.setHeader("Content-Disposition", "attachment; filename="
    + new String("用户通讯录.xls".getBytes("GB2312"), "iso8859-1"));
  // 这个地方一定要进行编码的转换要不然中文字符会出现乱码.
  // 设置下载头信息.end,
  OutputStream output = null;
  InputStream fis = null;
  try {
   output = response.getOutputStream();
   jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(output);
   jxl.write.WritableSheet ws = wwb.createSheet("用户通讯录", 0);

   // 设置标题.ws.addCell(new jxl.write.Label(列, 行, 内容.));
   ws.addCell(new Label(0, 1, "编号"));
   ws.addCell(new Label(1, 1, "登录名称"));
   ws.addCell(new Label(2, 1, "联系人"));
   ws.addCell(new Label(3, 1, "电话"));
   ws.addCell(new Label(4, 1, "email"));
   ws.addCell(new Label(5, 1, "单位名称"));
   ws.addCell(new Label(6, 1, "单位邮编"));
   ws.addCell(new Label(7, 1, "单位地址"));

   // 设置显示长度.
   ws.setColumnView(1, 15);
   // 登录名长度
   ws.setColumnView(2, 15);
   ws.setColumnView(3, 15);
   ws.setColumnView(4, 20);
   ws.setColumnView(5, 20);
   ws.setColumnView(6, 20);
   ws.setColumnView(7, 20);
   ws.setColumnView(8, 40);

   int i = 1;

   List list1 = mobjUserService.findAllUser();

   for (int j = 0; j < list1.size(); j++) {
    User user = (User) list1.get(j);
    ws.addCell(new jxl.write.Number(0, i + 1, i));
    // 这里设置是自增的序号而不是ID号.也可以改成ID号.
    // ws.addCell(new jxl.write.Label(1, i + 1, ""
    // + user.getUserId()));
    ws.addCell(new Label(1, i + 1, "" + user.getLoginName()));
    // 登录名
    ws.addCell(new Label(2, i + 1, "" + user.getContactPerson()));
    // 联系人
    ws.addCell(new Label(3, i + 1, "" + user.getPhone()));
    // 联系电话.
    ws.addCell(new Label(4, i + 1, "" + user.getEmail()));
    // email.
    if (null != user.getRecommendCompany()) {
     ws.addCell(new Label(5, i + 1, ""
       + user.getRecommendCompany().getCompanyName()));
     if (user.getRecommendCompany().getCompanyZipcode() != null) {
      ws.addCell(new Label(6, i + 1, ""
        + user.getRecommendCompany()
          .getCompanyZipcode()));
     } else {
      ws.addCell(new Label(6, i + 1, ""));
      // 增加邮编为""的判断.因为这个是Integer的类型.
     }
     ws.addCell(new Label(7, i + 1, ""
       + user.getRecommendCompany().getCompanyAddress()));
    } else {
     ws.addCell(new Label(5, i + 1, ""));
     ws.addCell(new Label(6, i + 1, ""));
     ws.addCell(new Label(7, i + 1, ""));
    }
    i++;
   }
   wwb.write();
   wwb.close();

  } catch (Exception e) {
   System.out.println("Error!");
   e.printStackTrace();
  } finally {// 正常关闭输入输出流.
   try {
    if (fis != null) {
     fis.close();
     fis = null;
    }
   } catch (Exception e) {
    e.printStackTrace();
   }
   try {
    if (output != null) {
     output.close();
     output = null;
    }
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
  return null;
 }

 

3.页面上的只要有提交执行该方法就行了

分享到:
评论

相关推荐

    JSP Struts2 分页 导出Excel

    本教程将介绍如何使用这两者结合jQuery来实现数据查询、分页以及Excel导出功能。 1. **JSP基础** JSP是一种服务器端脚本语言,用于生成动态HTML页面。开发者可以在JSP文件中混合使用HTML、Java代码和自定义标签库...

    Excel 导出 struts2 spring hibernate

    在Excel导出场景下,Action类将执行导出逻辑,并通过结果配置将生成的Excel文件返回给浏览器。 2. **Spring**:Spring可以作为依赖管理容器,将Struts2的Action与服务层(Service)组件进行依赖注入。同时,Spring...

    struts2+poi实现excel表格导出

    除了基础的Excel导出,还可以实现更多高级功能,比如合并单元格、插入图表、设置条件格式等。同时,对于更现代的XLSX格式,Apache POI也提供了对应的接口(如XSSFWorkbook)。 通过以上讲解,我们可以看到,结合...

    struts2实现excel导出

    在Struts2中实现Excel导出是一项常见的需求,这通常涉及到将数据库或其他数据源中的数据转换为Excel格式,以便用户可以下载和进一步处理。下面我们将深入探讨如何在Struts2中实现这一功能。 首先,我们需要了解...

    struts,poi导出excel

    在 Java 开发中,如果你需要导出数据到 Excel,Apache POI 提供了高效的 API 来实现这一功能。在本文中,我们将深入探讨如何使用 POI 组件来创建和操作 Excel 文档。 1. **创建 Excel 文档对象** 创建一个 Excel ...

    struts2导出excel.rar

    本压缩包"struts2导出excel.rar"提供了关于如何在Struts2框架中实现Excel导出功能的相关资源。 1. **Struts2框架基础** Struts2是一个基于MVC(Model-View-Controller)设计模式的Java框架,它简化了MVC的实现,...

    Struts2 poi动态导入导出Excel源码示例

    首先,让我们深入理解一下如何使用Struts2和POI来实现Excel的导入导出。 1. **Struts2的Action配置**: 在Struts2中,你需要创建一个Action类来处理用户请求。这个Action类会有一个方法,专门处理导入或导出Excel...

    POI + Struts2 实现Excel导出工具包

    在Java开发中,导出...总结来说,Apache POI与Struts2的结合使用,使得在Java Web应用中实现Excel导出变得简单高效。通过理解这两个库的核心概念和API,你可以定制化地生成符合业务需求的Excel报表,提升工作效率。

    struts2导出Excel poi

    在Struts2中,你可以创建一个Action类,该类包含一个导出Excel的方法,并将上述代码集成到其中。别忘了在Action中设置合适的Result类型,使得返回的内容被浏览器识别为Excel文件,通常可以设置Content-Type为...

    POI+struts2导出Excel

    描述中提到的“最简单易懂的方式写了导出的步骤”,意味着这个教程或代码示例可能以清晰明了的方式展示了如何在Struts2中使用POI来处理Excel导出。它强调了没有包含复杂的样式设置,使得初学者更容易理解和实现。...

    Struts1.2导出Excel表

    1. **配置Struts1.2 Action**:创建一个专门处理Excel导出的Action类,比如`ExportExcelAction`。在这个类中,我们需要定义一个方法来执行导出逻辑,如`export()`。这个方法会被Struts1.2的DispatcherServlet调用。 ...

    struts2+poi导出excel表格完整例子

    在这个“struts2+poi导出excel表格完整例子”中,我们将深入探讨这两个工具如何协同工作,实现从Web应用导出数据到Excel电子表格的功能。 首先,让我们了解一下Struts2的工作原理。Struts2基于拦截器(Interceptor...

    struts2+poi实现excel文件的导出

    Struts2 和 Apache POI 的整合允许开发者轻松地实现在 Web 应用程序中导出 Excel 文件的功能。Apache POI 是一个 Java 库,它提供了处理 Microsoft Office 格式(如 .xls 和 .xlsx)的能力,包括创建、读取和修改 ...

    Struts2+IText动态导出Word示例源码

    总之,这个示例展示了Struts2、IText和Excel(POI)在实际项目中的整合应用,提供了动态生成和导出Word文档的能力,同时也能处理Excel数据的导入与导出,对提升企业级应用的数据处理能力大有裨益。

    Struts2导出实例

    在描述中提到的"Struts2导出实例",主要指的是在Struts2框架下实现数据导出功能,特别是针对Excel格式的数据导出。这一功能在许多业务场景中都非常常见,比如数据分析、报表生成等。 在Struts2框架中实现数据导出,...

    基于struts2 spring ibatis poi开发的导出Excel实例

    【基于Struts2 Spring iBatis POI开发的导出Excel实例详解】 在现代Web应用程序中,导出数据到Excel格式是一种常见的需求,这有助于...通过学习和理解这些代码,开发者可以快速掌握在实际项目中实现Excel导出的方法。

    struts2_spring_ibatis根据模板文件导出Excel

    在这个项目中,“struts2_spring_ibatis根据模板文件导出Excel”是利用这三大框架实现了一个功能,即根据预设的模板文件生成并导出Excel电子表格。 首先,Struts2是基于Model-View-Controller(MVC)架构的Web应用...

    struts2 excel下载DEMO和jquery生成二维码DEMO

    在这个“struts2 excel下载DEMO和jquery生成二维码DEMO”中,我们将深入探讨如何在Struts2环境下处理Excel文件下载以及使用jQuery库生成二维码。 首先,关于Struts2生成Excel下载的功能。在企业应用中,常常需要将...

Global site tag (gtag.js) - Google Analytics