参考下面代码,在Action中加一个方法:

     // 导出excel
public String excel() throws Exception {
StringBuffer excelBuf = new StringBuffer();
excelBuf.append("运单号").append("\t").append("始发站").append("\t").append("目的站").append("\n");
excelBuf.append("112-00100100").append("\t").append("PEK").append("\t").append("SHA").append("\n");
excelBuf.append("112-00100111").append("\t").append("PVG").append("\t").append("XIY").append("\n");
excelBuf.append("112-00100122").append("\t").append("SHA").append("\t").append("HHY").append("\n");
String excelString = excelBuf.toString();
excelStream = new ByteArrayInputStream(excelString.getBytes(), 0, excelString.getBytes().length);
return "excel";
}

实质上是一个格式化的cvs文本文件,但是所有的excel/wps都能识别这种格式,导出的数据量不大,且没有复杂的线框格式要求时,这种处理方式最为方便

struts2的配置文件:

 <package name="cba_index" ...>
...
<action name="index_*" method="{1}" class="CbaAction">
<result name="success">/mu-reservation/cba/index.jsp</result>
<!-- 导出excel -->
<result name="excel" type="stream">
<param name="contentType">application/vnd.ms-excel</param> <!-- 注意这里的ContentType -->
<param name="inputName">excelStream</param> <!-- 这里需要和Action里的变量名一致 -->
<param name="contentDisposition">filename="download.xls"</param> <!-- 下载文件的名字 -->
<param name="bufferSize">10240</param> <!-- 下载文件的大小 10485760=10M -->
</result>
</action>
...
</package>

页面上

 <a href="index_excel.do" target="_blank">导出excel示例</a>

导出后的文件打开效果:

struts2: 通过流输出实现exce导出的更多相关文章

  1. Struts2(result 流 )下载

    jsp: <body> <a href="stream.action?fileName=psb.jpg">psb</a> <br> ...

  2. 将Maple输出的LaTex导出到txt文件

    将Maple输出的LaTex导出到txt文件 1. 生成LATEX Maple可以把它的表达式转换成LATEX, 使用latex命令即可: > latex(x^2+y^2=z^2); {x}^{ ...

  3. DirectX11 With Windows SDK--16 流输出阶段

    前言 在上一章,我们知道了如何使用几何着色器来重新组装图元,比如从一个三角形分裂成三个三角形.但是为了实现更高阶的分形,我们必须要从几何着色器拿到输出的顶点.这里我们可以使用可选的流输出阶段来拿到顶点 ...

  4. ASP.NET Core MVC中Controller的Action如何直接使用Response.Body的Stream流输出数据

    在ASP.NET Core MVC中,我们有时候需要在Controller的Action中直接输出数据到Response.Body这个Stream流中,例如如果我们要输出一个很大的文件到客户端浏览器让 ...

  5. CAD把控件图形变成二进制流输出(com接口VB语言)

    主要用到函数说明: _DMxDrawX::WriteBinStream 把控件图形变成二进制流输出,详细说明如下: 参数 说明 VARIANT* pVarBinArray 输出二进制数组.是个byte ...

  6. vlc的流输出功能

    vlc的流输出功能 流输出功能,可以将vlc读取到的流,输出到文件或者通过网络发送,客户端可以使用http.rtp.rtsp等协议访问,还可以进行转码等操作. 参考http://wiki.videol ...

  7. Java通过IO流输出文件目录

    //通过IO流输出文件目录,不同级的目录之间用*间隔 1 package com.fjnu.io; 2 3 import java.io.File; 4 5 public class dicOut { ...

  8. Struts2将图片输出到页面

            在做CRUD的过程中,添加页面是个表单,表单里面有一项是上传头像文件.这样表单提交后,头像文件上传了. 但这个文件存的地址是本地硬盘的一个文件夹.在编辑页面要做这个头像的回显的话,就需 ...

  9. php读取图片成二进制流输出

    header( "Content-type: image/jpeg");$PSize = filesize('1.jpg');$picturedata = fread(fopen( ...

随机推荐

  1. @在php中的作用

    @是PHP提供的错误信息屏蔽的专用符号. 使用@mysql_query 不会出现Warning,而原来mysql_query 在遇到错误时会在页面上访提示Warning. 看PHP的代码,总有些行前边 ...

  2. 13、系统集成项目经理要阅读的书籍 - IT软件人员书籍系列文章

    系统集成项目经理主要对弱电等项目负责.一般包括计算机网络系统,计算机设备系统,智能楼宇,机房建设等.在软考中,系统集成项目经理放在了中级,这个只能说明系统集成项目经理需要的经验没有高级信息系统项目管理 ...

  3. Hadoop生态圈以及各组成部分的简介

    1.Hadoop是什么? 适合大数据的分布式存储与计算平台 HDFS: Hadoop Distributed File System分布式文件系统 MapReduce:并行计算框架 解决的问题: HD ...

  4. Makefile内嵌函数

    subst字符串替换函数 $(subst <from>, <to>, <text>),把<text>中的<from>字符串替换成<to ...

  5. docker-7 docker在阿里云的使用

    在传统模式中,开发团队在开发环境中完成软件开发,自己做了一遍单元测试, 测试通过,ᨀ交到代码版本管理库.运维把应用部署到测 试环境, QA 进行测试,没问题后通知部署人员发布到生产环境. 在上述过程中 ...

  6. hadoop2.6.2分布式环境搭建

    1.准备三台机器,机器名是:master.slave01.slave02 1.1 最小化安装centos6.5 1.2 安装ssh,yum -y install openssh-clients(这一步 ...

  7. Windows Azure IP地址详解

    Windows Azure上的IP地址有以下几种: 公网IP地址 VIP ILPIP Reserved IP 内网IP地址 DIP Static IP VIP是动态分配的公网IP,VIP可以被分配到云 ...

  8. js中的冒泡排序以及实现一个数组中得最到最大的数字小例

    这其实是一个很简单的js就可以实现,当然一般情况就是利用for循环,从第一个跟第二个开始比较,根据大小交互位置,思路很简单. 也就是js中的冒泡排序 冒泡排序 时间复杂度为O(n^2),有两个优点: ...

  9. AC日记——验证字串 openjudge 1.7 18

    18:验证子串 总时间限制:  1000ms 内存限制:   65536kB 描述 输入两个字符串,验证其中一个串是否为另一个串的子串. 输入 输入两个字符串, 每个字符串占一行,长度不超过200且不 ...

  10. netty5和4.x,3.x的一些区别

    http://item.congci.com/item/netty-5-0-4-0-xin-bianhua-he-zhuyi-dian