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);  
    }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值