使用jacob控制word,将java数据填充到word指定位置,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jacob控制word,将java数据填充到word指定位置,相关的知识,希望对你有一定的参考价值。
Exception in thread "main" java.lang.ExceptionInInitializerError
at javaapplication2.WordHandle.<init>(WordHandle.java:33)
at javaapplication2.JavaApplication2.main(JavaApplication2.java:18)
public class JavaApplication2
/**
* @param args the command line arguments
*/
public static void main(String[] args)
// TODO code application logic here
WordHandle word = new WordHandle();
try
word.open("D:test.doc", false);
System.out.println(word.getTableNum());
word.setCurrentTable(1);
word.replaceCell(1, 2, "old Name");
word.saveAs("D:test1.doc");
word.close();
word.quit();
catch (Exception e)
Wordhandle.java第33行(init方法)有问题 参考技术B 我教你:重装系统就好了 真的很有用,每次我都是这样的追问
。。。。。。你行不行啊。
参考技术C 你代码没粘全啊,出错在33行,你才贴了20多行。谁能给你解决啊追问我贴wordHandle的代码。
能给个QQ吗?这里只能贴500个字,贴不上去啊,大侠
看不清,而且33行还是看不到
追问这是另一部分
追答兄弟啊,你发的图片根本看不清啊,要么你拷屏的清楚些,要么你直接贴代码上来吧
本回答被提问者和网友采纳[JAVA]使用jacob进行服务端word转html pdf
参照:http://www.cnblogs.com/qingxinblog/articles/3399454.html
1,必要条件: 服务器为windows,必须安装office 使用jacob进行中间件调用com组件打开word进程 另存文档为其他格式
2,注意条件:使用eclipse必须将jacob的jar包添加到项目 并add build path ,同时将jacob的dll 文件放置到JAVA_HOME\jre\bin中,如果为部署服务 将jar包放置到WEB_INF下的Lib目录
代码如下:
1 package demo; 2 3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 import com.jacob.com.*; 9 import com.jacob.activeX.*; 10 11 public class hdzServlet extends HttpServlet{ 12 13 protected void service (HttpServletRequest req, HttpServletResponse res) 14 throws ServletException, IOException { 15 res.getWriter().println("ni hao hdz!"); 16 String docfile = "F:\\123.doc"; 17 String htmlfile = "F:\\123.pdf"; 18 hdzServlet.wordToHtml(docfile, htmlfile); 19 20 } 21 22 public static final int WORD_HTML = 5; 23 24 /** 25 * WORD转HTML 26 * @param docfile WORD文件全路径 27 * @param htmlfile 转换后HTML存放路径 28 */ 29 public static void wordToHtml(String docfile, String htmlfile) 30 { 31 // 启动word应用程序(Microsoft Office Word 2003) 32 ActiveXComponent app = new ActiveXComponent("Word.Application"); 33 System.out.println("*****正在转换...*****"); 34 try 35 { 36 // 设置word应用程序不可见 37 app.setProperty("Visible", new Variant(false)); 38 // documents表示word程序的所有文档窗口,(word是多文档应用程序) 39 Dispatch docs = app.getProperty("Documents").toDispatch(); 40 // 打开要转换的word文件 41 Dispatch doc = Dispatch.invoke( 42 docs, 43 "Open", 44 Dispatch.Method, 45 new Object[] { docfile, new Variant(false), 46 new Variant(true) }, new int[1]).toDispatch(); 47 // 作为html格式保存到临时文件 48 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] { 49 htmlfile, new Variant(WORD_HTML) }, new int[1]); 50 // 关闭word文件 51 Dispatch.call(doc, "Close", new Variant(false)); 52 } 53 catch (Exception e) 54 { 55 e.printStackTrace(); 56 } 57 finally 58 { 59 //关闭word应用程序 60 app.invoke("Quit", new Variant[] {}); 61 } 62 System.out.println("*****转换完毕********"); 63 } 64 65 66 }
以上是关于使用jacob控制word,将java数据填充到word指定位置,的主要内容,如果未能解决你的问题,请参考以下文章