当前位置:软件学习 > Word >>

HTML转为word

html内容转化为Word文档
有两种方式实现:
 
一.apache.poi
 
代码如下:
 
 
[java]  
public static boolean writeWordFile() {  
        boolean w = false;  
        String path = "d:/";  
        try {  
            if (!"".equals(path)) {  
                // 检查目录是否存在  
                File fileDir = new File(path);  
                if (fileDir.exists()) {  
                    // 生成临时文件名称  
                    String fileName = "a.doc";  
                    String content = "<html><div style=\"text-align: center\"><span style=\"font-size: 28px\"><span style=\"font-family: 黑体\">" +  
                        "制度发布通知<br /> <br /> </span></span></div></html>";  
                    byte b[] = content.getBytes();  
                    ByteArrayInputStream bais = new ByteArrayInputStream(b);  
                    POIFSFileSystem poifs = new POIFSFileSystem();  
                    DirectoryEntry directory = poifs.getRoot();  
                    DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);  
                    FileOutputStream ostream = new FileOutputStream(path+ fileName);  
                    poifs.writeFilesystem(ostream);  
                    bais.close();  
                    ostream.close();  
                }  
            }  
        } catch (IOException e) {  
            e.printStackTrace();  
      }  
      return w;  
    }  
 
二.JACOB方式
 
notes:jacob包需要将jacob.dll放到windows/system32下
 
代码如下:
 
 
[java] 
public static void htmlToWord(String html, String docFile) {    
        ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word        
        try {    
            app.setProperty("Visible", new Variant(false));    
            Dispatch docs = app.getProperty("Documents").toDispatch();    
            Dispatch doc = Dispatch.invoke(docs, "Open", Dispatch.Method, new Object[] { html, new Variant(false), new Variant(true) }, new int[1]).toDispatch();    
            Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { docFile, new Variant(1) }, new int[1]);    
            Variant f = new Variant(false);    
            Dispatch.call(doc, "Close", f);    
        } catch (Exception e) {    
            e.printStackTrace();    
        } finally {    
            app.invoke("Quit", new Variant[] {});    
            ComThread.Release();    
        }    
    }   
    public static void main(String[] args){  
         String fileName = "D:\\a.doc";  
         String content = "D:\\a.html";  
         htmlToWord(content,fileName);  
    }  
 
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,