jacob word 转为 html记录.txt
0.去 http://sourceforge.net/projects/jacob-project/ 下载 jacob-1.15-M3.zip
1.我用的myeclipse,新建一java项目
2.复制下载的文件中的jacob.jar到lib目录下面
3.新建一个类,添加内容
public static void main(String[] args){
//注意参数类型,否则可能报错如:
//com.jacob.com.NotImplementedException: populateVariant() not implemented for class java.io.File
// File docfile = new File("D:\\桌面新位置\\笔试题.doc");
// File htmlFile = new File("D:\\桌面新位置\\笔试题.html");
String docfile = new String("D:\\桌面新位置\\笔试题.doc");
String htmlFile = new String("D:\\桌面新位置\\笔试题.html");
ActiveXComponent app = new ActiveXComponent("Word.Application");
//启动word
try {
//设置word程序非可视化运行
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
//打开word文件
Dispatch doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{docfile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();
//作为html格式保存文件
Dispatch.invoke(doc,"SaveAs",Dispatch.Method, new Object[]{htmlFile,new Variant(8)}, new int[2]);
//关闭文件
Dispatch.call(doc, "Close",new Variant(false));
} catch (Exception e) {
e.printStackTrace();
} finally {
//退出word程序
app.invoke("Quit", new Variant[] {});
}
}
4.运行下,报错:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.15-M3-x86 in java.library.path
打印下环境变量java.library.path:
System.out.println(System.getProperty("java.library.path"));
打印结果为:
C:\Program Files\MyEclipse 7.0M1\jre\bin;.;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_17\bin;C:\Program Files\Java\jdk1.6.0_17\jre\bin;E:\XEClient\bin;E:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\Bitvise Tunnelier;C:\Program Files\StormII\Codec;C:\Program Files\StormII
复制 jacob-1.15-M3-x86.dll 到打印结果中列出的任一目录,如目录:
C:\Program Files\MyEclipse 7.0M1\jre\bin
5.再次运行,ok
0.去 http://sourceforge.net/projects/jacob-project/ 下载 jacob-1.15-M3.zip
1.我用的myeclipse,新建一java项目
2.复制下载的文件中的jacob.jar到lib目录下面
3.新建一个类,添加内容
public static void main(String[] args){
//注意参数类型,否则可能报错如:
//com.jacob.com.NotImplementedException: populateVariant() not implemented for class java.io.File
// File docfile = new File("D:\\桌面新位置\\笔试题.doc");
// File htmlFile = new File("D:\\桌面新位置\\笔试题.html");
String docfile = new String("D:\\桌面新位置\\笔试题.doc");
String htmlFile = new String("D:\\桌面新位置\\笔试题.html");
ActiveXComponent app = new ActiveXComponent("Word.Application");
//启动word
try {
//设置word程序非可视化运行
app.setProperty("Visible", new Variant(false));
Dispatch docs = app.getProperty("Documents").toDispatch();
//打开word文件
Dispatch doc = Dispatch.invoke(docs,"Open", Dispatch.Method, new Object[]{docfile,new Variant(false), new Variant(true)}, new int[1]).toDispatch();
//作为html格式保存文件
Dispatch.invoke(doc,"SaveAs",Dispatch.Method, new Object[]{htmlFile,new Variant(8)}, new int[2]);
//关闭文件
Dispatch.call(doc, "Close",new Variant(false));
} catch (Exception e) {
e.printStackTrace();
} finally {
//退出word程序
app.invoke("Quit", new Variant[] {});
}
}
4.运行下,报错:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jacob-1.15-M3-x86 in java.library.path
打印下环境变量java.library.path:
System.out.println(System.getProperty("java.library.path"));
打印结果为:
C:\Program Files\MyEclipse 7.0M1\jre\bin;.;C:\Windows\system32;C:\Windows;C:\Program Files\Java\jdk1.6.0_17\bin;C:\Program Files\Java\jdk1.6.0_17\jre\bin;E:\XEClient\bin;E:\oraclexe\app\oracle\product\10.2.0\server\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\Bitvise Tunnelier;C:\Program Files\StormII\Codec;C:\Program Files\StormII
复制 jacob-1.15-M3-x86.dll 到打印结果中列出的任一目录,如目录:
C:\Program Files\MyEclipse 7.0M1\jre\bin
5.再次运行,ok