以下方式能够实现:弹出保存/打开excel的对话框,然后直接打开或输入路径再保存;
//首先获取response
// 然后取得输出流 ,会将创建的excel输出至该输出流对应的jsp页面
OutputStream os = response.getOutputStream();
//下面的代码作用我也不是特别清楚,貌似是清除缓存,避免下载出错
response.reset();
response.setHeader("Content-disposition", "attachment; filename="+new String("Book1".getBytes("GB2312"),"8859_1")+".xls");// 设定输出文件头
// 定义输出类型
response.setContentType("application/msexcel");
// 建立excel文件
WritableWorkbook wwb = Workbook.createWorkbook(os);
// 创建一个工作表 “Sheet1”是表名,10是第几页
WritableSheet ws = wwb.createSheet("Sheet1", 10);
// 设置单元格的文字格式 WritableFont wf = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false, UnderlineStyle.NO_UNDERLINE,Colour.BLUE);
//创建样式 WritableCellFormat wcf = new WritableCellFormat(wf); wcf.setVerticalAlignment(VerticalAlignment.CENTRE); //设置垂直居中 wcf.setAlignment(Alignment.CENTRE); //设置水平居中 ws.setRowView(0, 500); //设置行高 注意 这里500不是excel内的单位
//添加行数据 4各参数的含义:第j行,第0+1列 ,写入单元格内的数据,使用的样式(可没有)
ws.addCell(new Label(j, 0, excelNameArray[j], wcf));
wwb.write(); wwb.close();
--------------------------------------------------------------------------------------------------------------------------------------------
OVER!