首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Java通过jacob对excel,word进行打印等操作

Java通过jacob对excel,word进行打印等操作

www.jz123.cn  2010-01-05   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

有道是:车道山前必有路。这不,关键时刻,jacob出现了。根据官方网站的介绍 jacob即Java COM Bridge

  充当java和windows平台的桥梁作用,通过com组件的方式。如果大家不了解com组件。可以google一下。(顺便鄙视下百度)。通过它,是我们在java中可以很方便的操作office,包括word,excel等。

  闲话少说,马上开始jacob之旅。首先,当然是从官网上下载我们必要的资源。http://danadler.com/jacob/

  进入官网,大家会看到这样一段话:The JACOB project is moving to Sourceforge.net. Verion 1.8 is now available at Sourceforge. If you are a sourceforge developer and are interested in contributing to the project, please contact the project administrators. 也就是jacob已经在大名鼎鼎的Sourceforge.net上安营扎寨了。不过不解的是,最新版本1.14已经出来了,这里介绍的最新版本为什么还是1.8.鄙视一下。下载的时候,除了jacob-1.14.3.zip,我建议最好把jacob-1.14.3_src.zip也下载下来。src下有源码,demo等等,非常有用。

  解压:jacob-1.14.3.zip,将jacob.jar加入classpath,如果是intel平台,将jacob-1.14.3-x86.dll加入系统盘的system32下。比如我的路径是:C:WINDOWSsystem32 如果是AMD平台,则加入:jacob-1.14.3-x64.dll,

  ok, 准备就绪。开始写代码了,本人参照自带的demo实现了简单的打开excel并打印的功能。代码如下:


  view plaincopy to clipboardprint?
  /**
  * 功能:实现打印工作
  * @param path
  * @date Oct 29, 2008
  * @time 11:40:03 AM
  */
  public static void print(String path){
  ComThread.InitSTA();
  ActiveXComponent xl = new ActiveXComponent("Excel.Application");
  try {
  // System.out.println("version=" + xl.getProperty("Version"));
  //不打开文档
  Dispatch.put(xl, "Visible", new Variant(true));
  Dispatch workbooks = xl.getProperty("Workbooks").toDispatch();
  //打开文档
  Dispatch excel=Dispatch.call(workbooks,"Open",path).toDispatch();
  //开始打印
  Dispatch.get(excel,"PrintOut");
  } catch (Exception e) {
  e.printStackTrace();
  } finally {
  //始终释放资源
  ComThread.Release();
  }
  }
  /**
  * 功能:实现打印工作
  * @param path
  * @date Oct 29, 2008
  * @time 11:40:03 AM
  */
  public static void print(String path){
  ComThread.InitSTA();
  ActiveXComponent xl = new ActiveXComponent("Excel.Application");
  try {
  // System.out.println("version=" + xl.getProperty("Version"));
  //不打开文档
  Dispatch.put(xl, "Visible", new Variant(true));
  Dispatch workbooks = xl.getProperty("Workbooks").toDispatch();
  //打开文档
  Dispatch excel=Dispatch.call(workbooks,"Open",path).toDispatch();
  //开始打印
  Dispatch.get(excel,"PrintOut");
  } catch (Exception e) {
  e.printStackTrace();
  } finally {
  //始终释放资源
  ComThread.Release();
  }
  }

上一篇:JAVA初始化的陷阱 下一篇:Java调用com组件操作word使用总结(jacob)

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图