java输入输出流

来源:百度知道 编辑:UC知道 时间:2024/06/19 09:37:23
客户后台管理有一个导出报表按扭(目的是将客户资料导入到EXCEL表格中,文件保存到客户端)
程序分析:
1.在action中生成keke.xls文件,将所有数据添加到keke.xls中
WritableWorkbook book = Workbook.createWorkbook(new File("keke.xls"));
WritableSheet sheet = book.createSheet("第一页", 0);
设置标题头
Label labelTitle1 = new Label(0, 0, "编号");
Label labelTitle2 = new Label(1, 0, "用户名");
Label labelTitle3 = new Label(2, 0, "密码");
Label labelTitle4 = new Label(3, 0, "邮件");
2.将keke.xls文件下载到客户端
??我想如何才能将生成的keke.xls文件保存到客户端
请高手指教
支技: 专治牛皮癣_M的 方法
但是该如何将
WritableWorkbook book = Workbook.createWorkbook(new File("keke.xls"));
转换成二进制流读进来呢
我用
FileInputStream in=new FileInputStream(book);
或是
InputStream in=new InputStream(book);
会提示出错

还请各位多提供几点见意

你先把xls文件组织好
然后用
response.setContentType(
"application/ms-excel;charset=GB2312");
response.setHeader(
"Content-Disposition",
"attachment;filename=keke.xls");
设置响应头
然后把xls对象用二进制流读进来
转成byte[]
在用
response.getOutputStream()得到响应的输出流
把btye[]输入到也面就可以了

由于我没有用过楼主所用的WritableWorkbook这个类,所以怎样转我也不敢乱说
我做XLS的时候用的是POI的包,他内部封装了一些东西,可以很容易的就得到workbook的流.
如果楼主有兴趣,建议看一下,使用起来非常简单

这个好像不是这么这么来的吧。
我记得程序分两部分,一部分excel的,一部分是写成流的。
找下吧,自己改下,不难,我在家倒是有一份,可是家里不能上网!
package com.cthq.crm.account.common;
import java.io.OutputStream;
import java.util.List;
import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
/**
* @author Administrator
*