首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

将HTML转入word

2012-07-16 
将HTML转为word项目中客户需要将FCKeditor编辑的内容存为word下载,FCKeditor编辑的内容为HTML代码存储到数

将HTML转为word

项目中客户需要将FCKeditor编辑的内容存为word下载,FCKeditor编辑的内容为HTML代码存储到数据库一个字段。

整个过程中需要注意,如果是字符串需要将“<html>”标签给包括进去,否则无法识别,转换后的word就是html源代码

两种方式:

文后附poi.jar包,另jcob包见本文章http://ourteam.iteye.com/admin/blogs/1167962

jacob包需要将jacob.dll放到windows/system32下

一、apache.poi

代码:

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方式

代码:

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);}

?

热点排行