RT想把数据生成EXCEL文件,用了JXL包,现在能正常利用模板生成EXCEL文件并打开,问题是如何在用户看完关闭EXCEL后,自动删除生成的EXCEL文件?用JAVA,js,vb,都可以,请各位大仙显灵~

解决方案 »

  1.   

    写一个删除文件的方法, String path 是文件的绝对路径.public void delFile (String path) { 
        File file=new File(path); 
        if(file.exists() && file.isFile()){ 
    file.delete(); 
        }
    }
      

  2.   

    帅哥,删除这个我知道,我想问的是,用户关闭这个EXCEL文件时候,如何自动将这个文件删除?
      

  3.   

    在用户关闭函数调用中,加file.delete(); !在后面
      

  4.   

    你这应该是j2ee应用.
    java后台生成excel文件后,
    将文件内容读到bytes里,连同文件名送到前台打开或下载.
    后台的java在这个请求完毕后,就可以删除文件.
    如果要在关闭时删除,需发送"关闭"动作的请求.
      

  5.   


    对啊,用户关闭excel事件是获取不到的,把它生成时间放在数据库中,在删除不久可以啦吗
      

  6.   


    我就是像你说的这么做的,现在就卡到如何发送"关闭"动作的请求.敬请不吝赐教。
    我在考虑用JS实现,获取关闭EXCEL文件这个动作VBscript 可以做到,公司内网有人做过,还是04年的东西了,可惜我不会VB脚本,代码看的也是头很大,没找到相应的逻辑,所以上来请教哈
      

  7.   

    将数据生成一个excel的流文件,别生成物理文件,这样关闭时,也不用删除物理文件了。
      

  8.   

    楼上能具体说明下吗?我是新手,不懂~
    我把我代码放上去,给大家看看吧
                            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();
      

  9.   

    定义个输出流对象 OutputStream os = response.getOutputStream();在创建WritableWorkbook 时把这个流做为参数,如:
    WritableWorkbook wwb = Workbook.createWorkbook(os);
    这样,当页面进行导出excel操作时,会打开这个流文件,此时并未生成物理文件。