乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>JAVA</em>实现文件下载,浏览器端得到数据没反应-java excel下载,jav

<em>JAVA</em>实现文件下载,浏览器端得到数据没反应-java excel下载,jav

作者:乔山办公网日期:

返回目录:excel表格制作


可以跳转一下,不知道你是怎么提交进行下载的,如果是form提交,最好跳转一下,ie下什么问题都可能出现。。如果下载了index.jsp,你下载下来看看文件大小与你的excel文件大小是否一致,如果不一致,说明可能有问题,打开index.jsp看看内容是什么,可能异常就在文件里面,如果一直,可能ie没有将重定向的文件名称更改,需要手动更改了。。

=======================================================================
最好不要用location,使用一个form进行提交,form可以在一个隐藏的iframe里面,可以确保页面不刷新。你返回的流信息,文件名和扩展名要齐全

亲,下次要追问,不要评论


/**
* 出险信息导出到excel(fc)
* @param mapping
* @param form
* @param request
* @param response
* @throws IOException
*/
public void exportActoExcel(ActionMapping mapping, ActionForm form ,
HttpServletRequest request,HttpServletResponse response) throws IOException {

ActionErrors errors = new ActionErrors();
AcExcelBusi acBusi = new AcExcelBusi();
AccidentRecordForm arForm= (AccidentRecordForm) form;
AccidentRecordBusi arBusi = new AccidentRecordBusi();
// ////查询条件
FwUsers sessUser = (FwUsers)request.getSession().getAttribute(ConstValues.SESS_USER_MANAGE);
Map<String,Object> cisMap = arBusi.getTodoPageList(arForm,sessUser,errors);
List AcList = null;// 当页的记录
if (null != cisMap) {
AcList = (List) cisMap.get("list");
}

//导出excel的路径、文件名
String uuid = UUID.create("exp");
String path = request.getSession().getServletContext().getRealPath("/") + ConstValues.EXP_PATH_EXCEL + uuid + ".xls";
acBusi.exprotAcExcel(AcList, path,request);

response.sendRedirect("stdownload.jsp?path=" + path );

}

/**
* 导出出险信息 fc
*
* @param jzForm
* 查询条件
* @param sessionUser
* 当前登录session用户
* @param errors
* Action错误
* @return
*/
public void exprotAcExcel(List list, String path,HttpServletRequest request) {
try {
WritableWorkbook workbook = Workbook.createWorkbook(new File(path));// 创建工作簿(filePos为excel文件的路径)
WritableSheet sheet = workbook.createSheet("出险信息", 0);// 创建工作页
// 内容(居中)单元格样式
WritableCellFormat contentStyle = new WritableCellFormat(); //
contentStyle.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
contentStyle.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框
// 一级标题单元格样式
WritableFont wf1 = new WritableFont(WritableFont.ARIAL, 15,
WritableFont.BOLD, false); // 定义格式 字体 下划线 斜体 粗体 颜色
WritableCellFormat titleStyle1 = new WritableCellFormat(wf1); //
titleStyle1.setBackground(jxl.format.Colour.GREEN); // 设置单元格的背景颜色
titleStyle1.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
titleStyle1.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框
// 二级标题单元格样式
WritableFont wf2 = new WritableFont(WritableFont.ARIAL, 11,
WritableFont.BOLD, false); // 定义格式 字体 下划线 斜体 粗体 颜色
WritableCellFormat titleStyle2 = new WritableCellFormat(wf2); //
titleStyle2.setBackground(jxl.format.Colour.GREY_25_PERCENT); // 设置单元格的背景颜色
titleStyle2.setAlignment(jxl.format.Alignment.CENTRE); // 设置水平对齐方式
titleStyle2
.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE); // 设置垂直对齐方式
titleStyle2.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框

WritableCellFormat titleStyle3 = new WritableCellFormat(wf1); //
titleStyle3.setBackground(jxl.format.Colour.BRIGHT_GREEN); // 设置单元格的背景颜色
titleStyle3.setAlignment(jxl.format.Alignment.CENTRE); // 设置对齐方式
titleStyle3.setBorder(jxl.format.Border.ALL,
jxl.format.BorderLineStyle.THIN); // 设置边框
// 设置冻结单元格
sheet.getSettings().setVerticalFreeze(2);
sheet.getSettings().setHorizontalFreeze(5);
sheet.setColumnView(0, 8); // 设置列的宽度
sheet.setColumnView(1, 10); // 设置列的宽度
sheet.setRowView(0, 0);

sheet.addCell(new Label(0, 0, "hysj5800294*#", titleStyle1));// 标题
sheet.addCell(new Label(0, 1, "出险信息 ", titleStyle2));// 标题
sheet.mergeCells(0, 2, 33, 2); // 合并单元格
sheet.addCell(new Label(0, 2, "出险信息 ", titleStyle1));// 标题

sheet.addCell(new Label(0, 3, "序号", titleStyle2));// 往单元格中填写数据
sheet.addCell(new Label(1, 3, "省内/省外", titleStyle2));// 往单元格中填写数据
if (list != null && list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
sheet.setRowView(i + 3, 300); // 设置行e79fa5e98193e59b9ee7ad94332
//转换数据信息
//Object[] obj = (Object[]) list.get(i);
AccidentRecord ar = (AccidentRecord) list.get(i);

sheet.addCell(new Label(0, i + 4, String.valueOf(i + 1),contentStyle));// 往单元格中填写数据 序号
sheet.addCell(new Label(1, i + 4, ar.getLicenceProvince().toString(),contentStyle));// 省内/省外
}

}
workbook.write();// 书写到工作簿
workbook.close();// 关闭工作簿,输出完成
} catch (Exception e) {
e.printStackTrace();
}
}
}

功能可以实现,可以到处,点击下载确定

打开已经下载的excel,如图显示结果。得到想要的结构,成功!

你好;是不是你的浏览器出问题啦。你可以试试QQ浏览器。zd它采用单核模式,有很小的安装包,和超强的稳定型。浏览网页的速度也得到进一步的优化,有效的提升网页兼容性,减少系统漏洞。您可以使用电脑上微信,边上网边聊天。带来高效的微信沟通体验。速度快,下载强,可以满足你的视频浏览,下载文件等。谢谢望采纳

相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网