posts - 40,  comments - 4,  trackbacks - 0
          使用Java將Word轉為Html或txt。前一段時間為這個問題頭疼的不得了,后來查閱了資料終于解決了;現將程序放出,以便以后參考。
            //------------------------------------------------------------------------------
            //版權所有 (C) 浪潮集團商用系統有限公司? 保留所有權利
            //文件名稱: wordtohtml?????????? 文件版本: 1.00.00
            //作??? 者: 郭鑄???? 作者郵箱: guozhu@langchao.com? 完成日期: 2004-10-20
            //文件描述:
            //其它描述:
            //類 列 表:
            //? wordtohtml: 將指定目錄下面所有的doc文件轉化為HTML并存儲在相同目錄下
            //修改歷史:
            //? #?? 版本???? 修改日期??? 作者???????????????? 修改內容
            //? ----------------------------------------------------------------------------
            //? 1?? 1.00.01? 2004-10-14? 作者姓名???????????? 修改內容描述
            //? ----------------------------------------------------------------------------
            //------------------------------------------------------------------------------
            import com.jacob.com.*;
            import com.jacob.activeX.*;
            import java.io.*;

            //取得指定目錄下面所有的doc文件名稱
            public class wordtohtml
            {
            //------------------------------------------------------------------------------
            //方法原型: change(String paths)
            //功能描述: 將指定目錄下面所有的doc文件轉化為HTML并存儲在相同目錄下
            //輸入參數: String
            //輸出參數: 無
            //返 回 值: 無
            //其它說明: 遞歸
            //------------------------------------------------------------------------------
            public static void change(String paths, String savepaths)
            {
            
            File d = new File(paths);
            //取得當前文件夾下所有文件和目錄的列表
            File lists[] = d.listFiles();
            String pathss = new String("");

            //對當前目錄下面所有文件進行檢索
            for(int i = 0; i < lists.length; i ++)
            {
            if(lists[i].isFile())
            {
            String filename = lists[i].getName();
            String filetype = new String("");
            //取得文件類型
            filetype = filename.substring((filename.length() - 3), filename.length());
            
            //判斷是否為doc文件
            if(filetype.equals("doc"))
            {
            System.out.println("當前正在轉換......");
            //打印當前目錄路徑
            System.out.println(paths);
            //打印doc文件名
            System.out.println(filename.substring(0, (filename.length() - 4)));
            
            ActiveXComponent app = new ActiveXComponent("Word.Application");//啟動word
            
            String docpath = paths + filename;
            String htmlpath = savepaths + filename.substring(0, (filename.length() - 4));
            
            String inFile = docpath;
            //要轉換的word文件
            String tpFile = htmlpath;
            //HTML文件

            boolean flag = false;
            
            try
            {
            app.setProperty("Visible", new Variant(false));
            //設置word不可見
          Object docs = app.getProperty("Documents").toDispatch();
            Object doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{inFile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();
            //打開word文件
            Dispatch.invoke(doc,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);
            //作為html格式保存到臨時文件
            Variant f = new Variant(false);
            Dispatch.call(doc, "Close", f);
            flag = true;
            }
            catch (Exception e)
            {
            e.printStackTrace();
            }
            finally
            {
            app.invoke("Quit", new Variant[] {});
            }
            System.out.println("轉化完畢!");
            }
            }
            else
            {
            pathss = paths;
            //進入下一級目錄
            pathss = pathss + lists[i].getName() + "\\";???
            //遞歸遍歷所有目錄
            change(pathss, savepaths);
            }
            }
            
            }
            //------------------------------------------------------------------------------
            //方法原型: main(String[] args)
            //功能描述: main文件
            //輸入參數: 無
            //輸出參數: 無
            //返 回 值: 無
            //其它說明: 無
            //------------------------------------------------------------------------------?
            public static void main(String[] args)
            {
            
            String paths = new String("D:\\Work\\2004.10.8\\test system\\test01\\word\\");
            String savepaths = new String ("D:\\Work\\2004.10.8\\test system\\test01\\html\\");

            change(paths, savepaths);

            }
            }
          其中import的jar包是一個開源的東東,網上搜索即得。
            Dispatch.invoke(doc,"SaveAs", Dispatch.Method, new Object[]{tpFile,new Variant(8)}, new int[1]);
            修改Variant(8)},里面得參數即可將Word轉化為各種類型。

          posted on 2006-10-25 16:29 larryjava 閱讀(235) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 曲沃县| 留坝县| 洞口县| 顺平县| 绍兴县| 抚松县| 平邑县| 溧阳市| 普格县| 庐江县| 武川县| 黑水县| 海南省| 论坛| 岐山县| 渑池县| 岳西县| 玛纳斯县| 宝兴县| 观塘区| 通山县| 壤塘县| 沧州市| 延吉市| 宜宾县| 都江堰市| 双江| 屏边| 原平市| 行唐县| 栾城县| 津南区| 榆林市| 伽师县| 罗平县| 公安县| 乌拉特中旗| 苍南县| 灵石县| 桂林市| 建德市|