我在做一个模块时,遇到这样一个问题:我用jxl的方法导出一个execl文件,这个文件要导入另一个系统里。问题出现了,这个文件不是真正的execl文件,不能被另一系统识别,但是,只要不要改动保存下就能识别了,请问如何处理,能导出正确的excel文件。

解决方案 »

  1.   

    xls、csv後綴都是excel文件,保存路徑和文件格式沒有聯繫的,可能軟件不識別你另存為的路徑,比如路徑有中文,或者不支持長文件夾名稱
      

  2.   

    不是路径问题,修改后,路径不变,另个系统就能识别了。只是我导出的文件,虽然是excel文件格式,但本质不是excel文件,只有保存后,才被windows给格式成真正的excel文件。
      

  3.   

    jxl導出的本質就是excel文件,只要符合規範:
    response.setContentType("application/vnd.ms-excel");
    response.addHeader("Content-Disposition","attachment;filename=demo.xls");
      

  4.   

    response.reset();  ExportExcel excel =new ExportExcel();
        DepartmentManager de=DepartmentManager.getInstance();
      response.setHeader("Content-disposition",   
                 new String(("attachment; filename=" + startDate.substring(0,4)+"年"+de.search("where DEPID ="+ depId)[0].getDepname().toString()+"土地导出卡表").getBytes("GBK"), "ISO-8859-1"));
    response.setContentType("application/vnd.ms-excel");
     excel.export(response.getOutputStream(),sql);
      

  5.   

    不曉得java如何序列化。只能建議你再重新做個測試用例,不要複雜的setHeader,就像我發的簡單的就行,至於查詢出來的變量實現組裝成string,再放到request中,應該可以的。
      

  6.   


     response.setHeader改成 response.addHeader(),编码格式为utf-8的,我是遇到这样的情况,这样解决就没事了