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

Struts2利用stream直接输出Excel(转)

    博客分类:
  • SSH
 
阅读更多
用网页展示查询结果,经常会遇到要求导出成Excel的需求。采用这种方法可以定制输出的格式和内容(还不支持合并单元格和公式),生成真正的Excel格式(不是csv)的Excel。一、struts.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"     "http://struts.apache.org/dtds/struts-2.0.dtd">    <struts>
        <constant name="struts.i18n.encoding" value="UTF-8"/>
        <package name="demo" extends="struts-default">         <action name="excel" method="execute" class="demo.ExcelAction">                 <result name="excel" type="stream">                     <param name="contentType">application/vnd.ms-excel</param>    <!-- 注意这里的ContentType -->                     <param name="inputName">excelStream</param>                   <!-- 这里需要和Action里的变量名一致 -->                     <param name="contentDisposition">filename="standard.xls"</param>                     <param name="bufferSize">1024</param>                 </result>         </action>     </package> </struts>
    二、Struts2的 Action
    package demo; public class ExcelAction {     private InputStream excelStream; // 需要生成getter和setter
        public String execute() throws Exception {         StringBuffer excelBuf = new StringBuffer();         excelBuf.append("BookName").append("\t").append("Year").append("\t").append("author").append("\n");         excelBuf.append("Thinking in Java").append("\t").append("2001").append("\t").append("Eckel").append("\n");         excelBuf.append("Spring in action").append("\t").append("2005").append("\t").append("Rod").append("\n");         String excelString = excelBuf.toString();         logger.debug("result excel String: " + excelString);         excelStream = new ByteArrayInputStream(excelString.getBytes(), 0, excelString.length());         return "excel";     }
        // getter and setter     ... }
    三、Jsp页面
    <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>  <head>   <s:head />  </head>
     <body>
        <s:form action="" method="post">        <s:submit key="button.submit"/>     </s:form>  </body> </html>
分享到:
评论

相关推荐

    struts2+poi实现导出Excel文件

    Struts2 和 Apache POI 的结合使用...通过以上步骤,可以成功利用 Struts2 和 Apache POI 实现 Web 应用程序中的 Excel 导出功能。这个功能广泛应用于数据分析、报表生成、数据交换等多种场景,极大地提高了工作效率。

    struts2实现excel导出

    以下将详细介绍如何利用Struts2和POI实现Excel导出。 首先,你需要在项目中引入Apache POI库。在上述描述中提到的版本是`poi-bin-3.2-FINAL-20081019.zip`,但请确保使用当前的稳定版本,因为随着时间的推移,POI会...

    struts2利用jasperreport导出excel

    6. **Struts2配置**:在Struts2的配置文件(struts.xml)中,定义一个导出Excel的Action,返回类型设置为流类型(通常为“stream”),并将生成的Excel内容设置到HttpServletResponse的输出流中。 7. **Action实现*...

    struts2+jxl导出excel

    在"struts2+jxl导出excel"的场景中,我们将讨论如何利用Struts2框架与JXL库配合,实现从web应用中导出数据到Excel的工作。 首先,我们需要理解Struts2的动作(Action)和结果(Result)。动作是处理用户请求的核心...

    struts2+poi实现excel文件的导出

    1. `&lt;result name="success" type="stream"&gt;`:指定当 Action 执行成功后,返回的结果类型为流,这使得我们可以直接将生成的 Excel 文件内容输出到浏览器。 2. `&lt;param name="contentType"&gt;application/vnd.ms-excel...

    struts2+poi实现导出Excel文件.docx

    总结来说,"struts2+poi实现导出Excel文件.docx"的实现方式是利用Struts2的Action和结果类型配置,结合Apache POI库生成Excel文件,并通过HTTP响应返回给客户端,实现数据的导出功能。这一过程涉及了MVC模式、HTTP...

    struts2+poi实现导出Excel文件.pdf

    总结来说,利用Struts2和Apache POI,我们可以方便地实现Excel文件的导出。开发者只需要编写Action类,处理数据并创建Excel工作簿,然后在Struts2配置中定义动作和结果,就可以在Web应用中提供导出功能。这种技术在...

    Struts2+JXL 下载 Excel 文档

    在"Struts2+JXL 下载 Excel 文档"的场景中,开发者通常会创建一个Action,这个Action负责生成Excel文档并提供下载。用户通过浏览器访问特定URL,Struts2框架接收到请求后,会路由到相应的Action。Action内部会利用...

    Struts2中POI在内存中生成Excel文件并下载

    下面将详细介绍如何在Struts2中利用POI在内存中生成Excel文件并提供下载。 首先,了解Apache POI的基本用法。POI提供了HSSFWorkbook类,用于处理Excel的XLS格式,而XSSFWorkbook则处理XLSX格式。这里我们主要讨论...

    Struts2与jasperReport简单示例

    7. **优化与扩展**:为了提高性能,可以考虑缓存已编译的报表模板,或者利用Struts2的拦截器进行权限控制、日志记录等操作。 总的来说,Struts2和JasperReport的结合使得Java Web应用能够方便地生成和展示动态报表...

    Struts2 中集合数组生成xls 文件.doc

    本文将详细讲解如何利用Struts2处理集合数组并将其转化为XLS文件。 首先,我们需要一个`List&lt;Object&gt;`类型的集合,其中每个Object可以是包含多个属性的数据实体,这些属性将作为Excel文件中的列数据。例如,我们有...

    poi导出Excel

    2. **Struts 配置**:在 Struts 的配置文件(如 `struts.xml`)中,你需要定义一个与请求匹配的 Action,设置返回类型为 `stream`,以便能够返回二进制流,即 Excel 文件。例如: ```xml &lt;result type="stream...

    Ireport导出excel的Java代码

    - `org.apache.struts2.ServletActionContext`: 获取请求和响应对象。 - `dao.DBUtil`: 数据库连接工具类。 #### 2. 导出 Excel 的方法 ```java public void pubexportExcel(Map parameters, String url) throws ...

    SSH+JASPERREPORT整合例

    3. 配置Struts2的Action方法作为报表生成的入口,同时定义对应的Result类型,如jasper或stream。 4. 在Action中调用JasperReport API,利用之前准备好的数据填充报表。 5. 设置报表输出格式,然后通过流式响应返回给...

Global site tag (gtag.js) - Google Analytics