利用jacob将excel另存为html格式文件,利用jacob将word另存为html格式文件

由于任务要有从OA与网站数据交换这个需求,在OA中编辑的都是word文件,这些文件申核通过后就要发布到网站的相应栏目中,所以在将word文件另存为html格式的时候,找了许多现成的代码,现在整理一下,希望有类似功能的朋友可以支持拿去参考.我的环境是Window2003,jdk1.6.0,Tomcat5.517.

        在写代码之前一定要有jacob.jar和jacob.dll这两个文件,和大多数介绍jacob的文章一样,这两个文件要分别下载的,jacob.dll是yahoo讨论组的,而jacob.jar是它的官方网站下载的.我用的版本是1.7;首先要把jacob.dll这个文件放到jdk1.6.0/jre/bin下面,而不是放到system32这下,关于这点我试了很多次,困扰了我很久.jacob.jar直接放到项目的web-inf/lib下就可以了.下面是代码

    public static void WordToHtml(String filename, String savefilename)
    ...{
        ActiveXComponent app = new ActiveXComponent("Word.Application");
        try
        ...{
            app.setProperty("Visible", new Variant(false));
          
            Object docs = app.getProperty("Documents").toDispatch();
            Object doc = Dispatch.invoke(docs, "Open", Dispatch.Method, new Object[] ...{ filename, new Variant(false), new Variant(true) }, new int[1]).toDispatch();
         
            Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] ...{ savefilename, new Variant(8) }, new int[1]);
       
            Dispatch.call(doc, "Close", new Variant(false));
        }
        catch (Exception e)
        ...{
            e.printStackTrace();
        }
        finally
        ...{
            app.invoke("Quit", new Variant[] ...{});
            app = null;
        }
    }

 

 public static void ExcelToHtml(String excelFilename, String htmlFilename)
    ...{
        ActiveXComponent xl = new ActiveXComponent("Excel.Application");
        try
        ...{
            Dispatch.put(xl, "Visible", new Variant(false));
            Object workbooks = xl.getProperty("Workbooks").toDispatch();
            Object workbook = Dispatch.call(workbooks, "Open", excelFilename).toDispatch();
            Dispatch.invoke(workbook, "SaveAs", Dispatch.Method, new Object[] ...{ htmlFilename, new Variant(44) }, new int[1]);
            Dispatch.call(workbooks, "Close", new Variant(false));
        }
        catch (Exception e)
        ...{
        }
        finally
        ...{
            xl.invoke("Quit", new Variant[] ...{});
            xl = null;
        }
    }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值