jacob

1.xls 转换为 xlsx

  照着网上的doc转换为docx,试验了一下;

  循环传入type值,最后发现type为12的时候转换出来的是可以的xlsx;

  如果有大神知道具体的,希望多多指导。

代码如下

ActiveXComponent _app = new ActiveXComponent("Excel.Application");
         try{
             _app.setProperty("Visible", Variant.VT_FALSE);
              Dispatch documents = _app.getProperty("Workbooks").toDispatch();
              // 打开FreeMarker生成的Word文档
               Dispatch doc=Dispatch.invoke(documents, "Open", Dispatch.Method, new Object[]{srcPath,new Variant(false),new Variant(true)}, new int[1]).toDispatch();    
             //另存为指定格式的文档    
             Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[]{destPath,new Variant(type)}, new int[1]);    
              Dispatch.call(doc, "Close", Variant.VT_FALSE);
              
              //type 取值   
              //et :1   18  39
              //xlsx:12
              //dif:9
              //xlt:17
         }catch(Exception e){
             logger.error(e);
             e.printStackTrace();
         }finally{
             _app.invoke("Quit", new Variant[] {});
              ComThread.Release();
         }
原文地址:https://www.cnblogs.com/wmg92/p/9174321.html