struts2: 通过流输出实现exce导出l

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

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

实质上是一个格式化的cvs文本文件,但是所有的excel/wps都能识别这种格式,导出的数据量不大时,这种方式最为方便

struts2的配置文件:

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

页面上

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

struts2: 通过流输出实现exce导出l

时间: 2024-10-31 08:46:42

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

DirectX11 With Windows SDK--16 利用几何着色器可选的流输出阶段帮助绘制多种分形

前言 在上一章,我们知道了如何使用几何着色器来重新组装图元,比如从一个三角形分裂成三个三角形.但是为了实现更高阶的分形,我们必须要从几何着色器拿到输出的顶点.这里我们可以使用可选的流输出阶段来拿到顶点集合. 注意: 本章末尾有大量的GIF动图! DirectX11 With Windows SDK完整目录 Github项目源码 流输出阶段 现在我们知道GPU可以写入纹理(textures),例如深度/模板缓冲区以及后备缓冲区.当然,我们也可以通过渲染管线的流输出阶段让GPU将几何着色器输出的顶点

Struts2(result 流 )下载

jsp: <body> <a href="stream.action?fileName=psb.jpg">psb</a> <br> </body> action: public class StreamAction { private String fileName; public String execute(){ return Action.SUCCESS; } public InputStream getInputStr

Xilinx VDMA 24位流输出与32位AXI总线的内存 流数据关系

测试方法采用了VDMA仅有MM2S通道, 内存中的图像帧是用MicroBlaze核写入的一个colorbar. VDMA的mhs部分如下, 因为我的输出用了Digilent的HDMI核,而这个HDMI核是32位的,我自己写了个axis_24_32的位宽转换的ip,这个暂且按下不表. BEGIN axi_vdma PARAMETER INSTANCE = axi_vdma_0 PARAMETER HW_VER = 5.04.a PARAMETER C_USE_FSYNC = 0 PARAMETER

vlc的流输出功能

流输出功能,可以将vlc读取到的流,输出到文件或者通过网络发送,客户端可以使用http.rtp.rtsp等协议访问,还可以进行转码等操作. 参考http://wiki.videolan.org/Documentation:Streaming_HowTo 流输出语法 % vlc input_stream --sout "#module1{option1=parameter1{parameter-option1},option2=parameter2}:module2{option1=...,opt

javascript中输出信息的方法-信息确认框-提示输入框-文档流输出

js中输出信息的方法 1.文档流输出 document.write('hello'); 2.输出信息提示框 模态对话框 window.alert('要输出显示的内容');  或 alert('要输出显示的内容'); alert(n); 3.信息确认框 var f =  window.confirm('是否要进入新浪网');  confirm(""); if(f){ location.href = 'http://www.sina.com.cn'; } 4.提示输入框 window.pr

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

在ASP.NET Core MVC中,我们有时候需要在Controller的Action中直接输出数据到Response.Body这个Stream流中,例如如果我们要输出一个很大的文件到客户端浏览器让用户下载,那么在Controller的Action中用Response.Body这个Stream流,来逐步发送文件数据到客户端浏览器是最好的办法. 但是我今天在ASP.NET Core MVC的Controller的Action中使用Response.Body输出数据到客户端浏览器的时候遇到了个问题

【项目实战】导出多个Exce文件l到制定目录

//Controller层:/*start---------------------------------------导出Excel接口[需要3个参数]-------------------------------------------------------------*/ /** * 功能描述:[导出Excel接口] * 创建者:shiyanjun * @param columns 表头 * @param querySql 查询SQL * @param filePath 文件目录 * @

Struts2将图片输出到页面

在做CRUD的过程中,添加页面是个表单,表单里面有一项是上传头像文件.这样表单提交后,头像文件上传了. 但这个文件存的地址是本地硬盘的一个文件夹.在编辑页面要做这个头像的回显的话,就需要我们去本地文件读到这张图片, 然后将这张图片输出到页面. 笔者很久都没写过怎么把图片输出到页面了,在网上看了点资料,感觉不够清晰.于是决定自己做下笔记,方便后续查阅. 一.思路 既然是将图片回显,那么页面上图片的src属性肯定就是一个http请求,后台处理这个请求是输出一张图片到浏览器 (1) 编辑页面的使用 <

CodeForces 546E - Soldier and Traveling(最大流+输出边流量)

题目链接:click here~~ [题目大意]:给定一些城市里面原先状态的士兵数目,和某些城市之间的联通关系,求能否达到最终状态. [解题思路]做完这套题,感觉这道题是五个题里最有质量的题了,搞了差不多一天半的时间,开始很难想到构图,想到了是最大流之后,又卡在了输出流量上,w(?Д?)w,还是这类题做的太少,~~~~(>_<)~~~~!首先比较很难构想到最大流,但是抓住题目关键,仔细想想也不难,好,想到了是构造最大流,那么接下来难点是建源点,汇点,剩下的就是套模板了,弱弱的献上代码,欢迎各位