RT想把数据生成EXCEL文件,用了JXL包,现在能正常利用模板生成EXCEL文件并打开,问题是如何在用户看完关闭EXCEL后,自动删除生成的EXCEL文件?用JAVA,js,vb,都可以,请各位大仙显灵~
解决方案 »
- jsp中界面表格加上滚动条后,鼠标移动,表格跟着抖动的问题
- window.frames["frameId"].document.body.innerHTML跨域取值问题
- 求正则表达式删除标签的时间!
- 如何用js实现——鼠标移出ie浏览器就弹出提示信息
- 100分求如何禁止IE的刷新功能,如刷新按钮,IE查看里的刷新功能
- 一个插入动态HTML控件的问题!搞了一天了,始终没解决,请大虾务必看一看.
- insert 语句怎么会插不进去值呢?
- 如何实现javascript获取某行?并删除它?
- 解决就给分
- google,搜狗等浏览器不能用form.submit提交
- 改一个Tab切换脚本,总是不成功,各位指教一下
- 求正则表达式
File file=new File(path);
if(file.exists() && file.isFile()){
file.delete();
}
}
java后台生成excel文件后,
将文件内容读到bytes里,连同文件名送到前台打开或下载.
后台的java在这个请求完毕后,就可以删除文件.
如果要在关闭时删除,需发送"关闭"动作的请求.
对啊,用户关闭excel事件是获取不到的,把它生成时间放在数据库中,在删除不久可以啦吗
我就是像你说的这么做的,现在就卡到如何发送"关闭"动作的请求.敬请不吝赐教。
我在考虑用JS实现,获取关闭EXCEL文件这个动作VBscript 可以做到,公司内网有人做过,还是04年的东西了,可惜我不会VB脚本,代码看的也是头很大,没找到相应的逻辑,所以上来请教哈
我把我代码放上去,给大家看看吧
File os=new File(模板地址);
//取得源文件
Workbook wb=Workbook.getWorkbook(os);
//输出流
ByteArrayOutputStream targetFile = new ByteArrayOutputStream();
//生成的EXCEL文件
WritableWorkbook wwb = Workbook.createWorkbook(targetFile,wb);
//sheet表
WritableSheet wws = wwb.getSheet(0);
//格式设置
WritableFont font= new WritableFont(WritableFont.createFont("utf-8"),9,WritableFont.NO_BOLD);
WritableCellFormat cellFormat1 = new WritableCellFormat(font);
//------------------------------------------↓↓填充数据↓↓-----------------------------------------
Label C1 = new Label(0,13,"数据");
C1.setCellFormat(cellFormat1);
wws.addCell(C1);
//------------------------------------------↑↑填充数据↑↑-----------------------------------------
wwb.write();
wwb.close();
wb.close();
//写入文件
FileOutputStream fos = new FileOutputStream("生成文件地址.xls");
targetFile.writeTo(fos);
targetFile.close();
String adr = "生成文件地址.xls";
Runtime CRuntime = Runtime.getRuntime();
Process CProce = null;
//打开生成文件
CProce=CRuntime.exec("C:\\Program Files\\Microsoft Office\\Office\\EXCEL.EXE "+adr);
//关闭进程
CProce.waitFor();
CProce.destroy();
WritableWorkbook wwb = Workbook.createWorkbook(os);
这样,当页面进行导出excel操作时,会打开这个流文件,此时并未生成物理文件。