struts2文件下载

1.action中需要有一个InputStream 对象,并且该对象要有get()方法

2.在action的方法中给下载的文件定义一个名字,比如:xlsName = "统配报表.xls";

3.给inputstream对象赋值,即封装一个方法getExcel(),这个方法的返回值是inputstream类型 ,inputstream对象=getExcel();

4,在getExcel()方法中创建excel和行、列并对他们复制,具体操作如下:

a.创建一个excel  HSSFWorkbook workbook = new HSSFWorkbook();

b:创建一个sheet   HSSFSheet sheet = workbook.createSheet("统配订货明细");

c.设置sheet的列宽sheet.setDefaultColumnWidth(35);

d.    给这个Excel的cell创建一个style    HSSFCellStyle style = workbook.createCellStyle(); 并给这个style设置前景色,边框等,具体参考

http://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFCellStyle.html

e.给这个excel创建一个字体 HSSFFont font = workbook.createFont();并给字体设置大小,颜色等,并把这个字体设置给这个样式

f.创建row和cell  HSSFRow dg = sheet.createRow(0); HSSFCell cell0 = dg.createCell(0);并给cell设置样式、赋值

g.遍历从数据库查出来的数据,

h.创建输入流 OutputStream bos = new ByteArrayOutputStream();// 字节数组流

i.用输入流创建输出流ByteArrayInputStream bis = new ByteArrayInputStream(((ByteArrayOutputStream) bos).toByteArray()); return bis;


注意事项:

struts2配置文件中配置下载方法

<result name="downAllExcel" type="stream">
                <param name="contentType">application/vnd.ms-excel;charset=iso-8859-1</param>
                <param name="inputName">downAllExcel</param>
                <param name="contentDisposition">/attachment;filename="${xlsName}"</param>
 </result>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值