请教用JAVA&js将数据生成EXCEL,并自动打开后,如何关闭后删除生成的EXCEL文件 RT想把数据生成EXCEL文件,用了JXL包,现在能正常利用模板生成EXCEL文件并打开,问题是如何在用户看完关闭EXCEL后,自动删除生成的EXCEL文件?用JAVA,js,vb,都可以,请各位大仙显灵~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个删除文件的方法, String path 是文件的绝对路径.public void delFile (String path) { File file=new File(path); if(file.exists() && file.isFile()){ file.delete(); }} 帅哥,删除这个我知道,我想问的是,用户关闭这个EXCEL文件时候,如何自动将这个文件删除? 在用户关闭函数调用中,加file.delete(); !在后面 你这应该是j2ee应用.java后台生成excel文件后,将文件内容读到bytes里,连同文件名送到前台打开或下载.后台的java在这个请求完毕后,就可以删除文件.如果要在关闭时删除,需发送"关闭"动作的请求. 对啊,用户关闭excel事件是获取不到的,把它生成时间放在数据库中,在删除不久可以啦吗 我就是像你说的这么做的,现在就卡到如何发送"关闭"动作的请求.敬请不吝赐教。我在考虑用JS实现,获取关闭EXCEL文件这个动作VBscript 可以做到,公司内网有人做过,还是04年的东西了,可惜我不会VB脚本,代码看的也是头很大,没找到相应的逻辑,所以上来请教哈 将数据生成一个excel的流文件,别生成物理文件,这样关闭时,也不用删除物理文件了。 楼上能具体说明下吗?我是新手,不懂~我把我代码放上去,给大家看看吧 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(); 定义个输出流对象 OutputStream os = response.getOutputStream();在创建WritableWorkbook 时把这个流做为参数,如:WritableWorkbook wwb = Workbook.createWorkbook(os);这样,当页面进行导出excel操作时,会打开这个流文件,此时并未生成物理文件。 一个很奇怪的现象,关于Date spekt怎么安装啊,我MyEclipse是7.5的? 我想问问网站对外公布API是如何实现的 对象冒充中为什么要删除对基类的引用? checkbox 选择增加问题 急救 100 分 请问能否通过javascript改变自身的outerHTML 搜到的控制"纵打"、 横打”和“页面的边距的代码,但用到网页中却出现错误。 这组单选框的长度为什么取不到?? 不能颜色递减,要怎么改呢? 关于用javascript打印的问题 改一个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操作时,会打开这个流文件,此时并未生成物理文件。