jacob转html

package com.acdm.util;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class TransformFiletoHtml
{
 int WORD_HTML = 8;
 int WORD_TXT = 7;
 int EXCEL_HTML = 44;
  
 /**
  * WORD转HTML
  * @param docfile WORD文件全路径
  * @param htmlfile 转换后HTML存放路径
  */
 public void wordToHtml(String docfile, String htmlfile)
 {
  ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
  try
  {
   app.setProperty("Visible", new Variant(false));//设置word不可见  
   Dispatch docs = app.getProperty("Documents").toDispatch();
   //打开word文件,注意这里第三个参数要设为false,这个参数表示是否以只读方式打开,因为我们要保存原文件,所以以可写方式打开。  
   Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { docfile, new Variant(false),new Variant(true) }, new int[1]).toDispatch();
   
//   Dispatch selection=app.getProperty("Selection").toDispatch();//获得对Selection组件
//   Dispatch.call(selection, "HomeKey", new Variant(6));//移到开头
//   Dispatch find = Dispatch.call(selection, "Find").toDispatch();//获得Find组件
//   Dispatch.put(find, "Text", "3G");       //查找字符串"name"
//   Dispatch.call(find, "Execute");           //执行查询
//   Dispatch.put(selection, "Text", "下载");  //替换为"张三"
   
   
   Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {htmlfile, new Variant(WORD_HTML) }, new int[1]);
   
   
   Variant f = new Variant(false);
   Dispatch.call(doc, "Close", f);
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  finally
  {
   app.invoke("Quit", new Variant[] {});
  }
 }
 
 /**
  * EXCEL转HTML
  * @param xlsfile EXCEL文件全路径
  * @param htmlfile 转换后HTML存放路径
  */
 public void excelToHtml(String xlsfile, String htmlfile)
 {
  ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 启动excel
  try
  {
   app.setProperty("Visible", new Variant(false));
   Dispatch excels = app.getProperty("Workbooks").toDispatch();
   Dispatch excel = Dispatch.invoke(excels,"Open",Dispatch.Method,new Object[] { xlsfile, new Variant(false),new Variant(true) }, new int[1]).toDispatch();
   Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {htmlfile, new Variant(EXCEL_HTML) }, new int[1]);
   
   Variant f = new Variant(false);
   Dispatch.call(excel, "Close", f);
  }
  catch (Exception e)
  {
   e.printStackTrace();
  }
  finally
  {
   app.invoke("Quit", new Variant[] {});
  }
 }
 
 /**
  * /删除指定文件夹
  * @param folderPath 文件夹全路径
  * @param htmlfile 转换后HTML存放路径
  */
  public void delFolder(String folderPath)
                {
      try
      {
         delAllFile(folderPath); //删除完里面所有内容
         String filePath = folderPath;
         filePath = filePath.toString();
         java.io.File myFilePath = new java.io.File(filePath);
         myFilePath.delete(); //删除空文件夹
      } catch (Exception e) {e.printStackTrace();}
 }
 
 /**
  * /删除指定文件夹下所有文件
  * @param path 文件全路径
  */
 public boolean delAllFile(String path)
    {
        boolean flag = false;
        File file = new File(path);
        if (!file.exists())
        {
          return flag;
        }
        if (!file.isDirectory())
        {
          return flag;
        }
        String[] tempList = file.list();
        File temp = null;
        for (int i = 0; i < tempList.length; i++)
        {
           if (path.endsWith(File.separator))
           {
              temp = new File(path + tempList[i]);
           }
           else
           {
               temp = new File(path + File.separator + tempList[i]);
           }
           if (temp.isFile())
           {
              temp.delete();
           }
           if (temp.isDirectory())
           {
              delAllFile(path + "/" + tempList[i]);//先删除文件夹里面的文件
              delFolder(path + "/" + tempList[i]);//再删除空文件夹
              flag = true;
           }
        }
        return flag;
             }
 
 public static void main(String[] args) {  
         // TODO Auto-generated method stub  
          TransformFiletoHtml trans = new TransformFiletoHtml();  
         trans.wordToHtml("F:\\3G系统体验平台整合方案(整合后台).doc", "D:\\sinye.html");  
     }  
}

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值