java导出Excel文件,直接可以下载,然后更新状态,刷新页面
来源:互联网 发布:mac 鼠标 触摸板 编辑:程序博客网 时间:2024/05/22 16:53
java后端导出excel,首先前台页面只能通过form提交,在后端组成excel文件后,用response直接输出。然后要进行后序操作,例如我这儿,导出的数据状态更新,然后刷新页面。
1jsp页面:
$("#tempForm").submit();//form提交,请求后台的excel做成方法;
var timer1 = setInterval(refeshPage,1000);//每隔一秒判断下cookie是否已经写回,如果写回,则进行页面刷新
function refeshPage(){
if(getCookie("updateStatus")=="success"){
clearInterval(timer1);//每隔一秒的判断操作停止
delCookie("updateStatus");//删除cookie
$("#mainForm").submit();//页面刷新
}
}
2java excel做成:
// 创建Excel文档
HSSFWorkbook wb = new HSSFWorkbook();
// sheet 对应一个工作页
HSSFSheet sheet = wb.createSheet("***");
HSSFRow firstrow = sheet.createRow(0);
// 设置单元格类型
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 水平布局:居中
// 下标为0的行开始
HSSFCell[] firstcell = new HSSFCell[CountColumnNum];
firstcell[0]="";............................//为excel第一行赋值,当作表格表头
for (short i = 0; i < list.size(); i++) {
// 创建电子表格的一行
HSSFRow row = sheet.createRow(i + 1);
HSSFCell[] cells = new HSSFCell[CountColumnNum];
cells[0].setCellValue(i + 1);
cells[1].setCellValue(new HSSFRichTextString(“AAA”));//分别为表格内容赋值
}
// 调整列宽
sheet.autoSizeColumn((short) 1);
sheet.autoSizeColumn((short) 2);
sheet.autoSizeColumn((short) 3);
sheet.autoSizeColumn((short) 4);
// 创建文件输出流,准备输出电子表格
response.reset();
response.setContentType("octets/stream");
response.addHeader("Content-Disposition", "attachment;filename=" + new String(ENTER_FILE_NAME.getBytes("gb2312"), "ISO8859-1") + "_"
+ StrUtils.getDateStr () + ".xls");//设定response的输出格式
updateLoadStatus(feeIds);//更新导出的数据状态
//更新完后,设定cookie,用于页面判断更新完成后的标志
Cookie status = new Cookie("updateStatus","success");
status.setMaxAge(600);
response.addCookie(status);//添加cookie操作必须在写出文件前,如果写在后面,随着数据量增大时cookie无法写入。
OutputStream out = response.getOutputStream();
wb.write(out);//将生成的excel文件输出
response.flushBuffer();
out.close();
注意:(1)添加cookie的位置一定要注意,否则数据量大时,cookie无法写到http里面去;
(2)导出后更新数据,更新完后进行刷新,如果不加标志来判断,更新操作可能慢于刷新操作,导致更新的状态无法在列表页面显示。此处的更新标志是用cookie来保存。页面需要不断查询cookie的状态来做更新
- java导出Excel文件,直接可以下载,然后更新状态,刷新页面
- java导出excel 下载文件
- java直接输出Excel 页面实现下载
- 直接导出页面到Excel
- java POI excel文件导出下载
- java下载页面的显示类,可以直接调用
- 怎么实现NPOI导出excel保存到服务器上,然后返回文件地址下载?
- jsp页面导出用jxl方式导出数据到excel表格并下载保存(第二种直接用java类实现)
- java excel 导出,直接输出,不在项目内生成文件
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- Java POI 导出EXCEL经典实现 Java导出Excel弹出下载框 【不定期更新】
- JAVA 关于web页面下载导出Excel通用方法
- poi的导出excel(直接下载)
- app更新版本下载文件,然后安装
- 页面导出Excel文件总结
- Linux Shell系列教程之(四)Shell注释
- 64位Ubuntu系统如何运行32位软件
- android input进程(模拟按键)
- 一个神人创造了验证码,又让验证码做出了巨大贡献
- 剑指--重建二叉树
- java导出Excel文件,直接可以下载,然后更新状态,刷新页面
- 关于imageloader的一些理解
- 94. Binary Tree Inorder Traversal #Medium
- 多个if else替换为一个if判断
- java中的线程池优点以及处理原理
- js prototype介绍
- 剑指Offer——之字形打印二叉树
- [ObjectC]Objective-C内存管理之---属性修饰词
- javascript调用qt javaScriptWindowObjectCleared()信号