2013-03-05 13:00 java 后台 Excel 文件生成后转化为字节流

java excel 使用 poi组件, HSSFWorkbook workBook = new HSSFWorkbook();

对于workBook生成字节流,很容易发现有个workBook .getBytes(),但是,是不可用的,下载以后打不开,

如果下载,正确的写法为

workBook.write(response.getOutputStream());

如果转化为字节流:

ByteArrayOutputStream os = new ByteArrayOutputStream();

try {

workBook.write(os);

ByteArray bytes = os.toByteArray();

String fileName = "xxx.xls";

runData.getResponse().reset();

runData.getResponse().setContentType("application/msexcel;charset=utf-8");

runData.getResponse().setHeader("Content-disposition", "attachment;filename= "+ fileName);

 

runData.getResponse().getOutputStream().write(bytes.getRawBytes());

runData.getResponse().getOutputStream().flush();

runData.getResponse().getOutputStream().close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

 

 

dwr的写法

:ByteArrayOutputStream os = new ByteArrayOutputStream();
  try
  {
   hssfWorkbook.write(os);
   return new FileTransfer(new String("XXXX.xls".getBytes(),"iso8859-1"),  "application/ms-excel", os.toByteArray());
  }
  catch (IOException e)
  {
   e.printStackTrace();
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值