jacob,功能非常强大,能操作word,excel和pdf。下载地址是:http://sourceforge.net/projects/jacob-project/

1、新建一个文档
  Dispatch word = new ActiveXComponent("Word.Application");
  Dispatch documents = word.getProperty("Documents").toDispatch();
  Dispatch doc = Dispatch.call(documents, "Add").toDispatch();
2、保存并关闭文档
  Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {"D:/Dog.doc",new Variant(1) }, new int[3]);
  Dispatch.call(doc, "Close", new Variant(false));
  word.invoke("Quit", new Variant[0]);
3、获得当前输入点
  private Dispatch getSelection()
  {
   return word.getProperty("Selection").toDispatch();
  }
4、插入换行符
  Dispatch range = Dispatch.get(getSelection(), "Range").toDispatch();
  Dispatch.call(range, "InsertParagraphAfter");
  Dispatch.call(getSelection(), "MoveDown");
5、设置字体格式
  Dispatch font = Dispatch.get(getSelection(), "Font").toDispatch();
  Dispatch.put(font, "Name", new Variant("宋体"));
  Dispatch.put(font, "Size", "18");
  Dispatch.put(font, "Bold", "1");
6、设置段落格式
  Dispatch paraFormat = Dispatch.get(getSelection(), "ParagraphFormat").toDispatch();   
  Dispatch.put(paraFormat, "SpaceBefore", "5")
  Dispatch.put(paraFormat, "SpaceAfter", "5");
  Dispatch.put(paraFormat, "Alignment", "0");
7、设置标题级别
  Dispatch activeDoc = word.getProperty("ActiveDocument").toDispatch();
  Dispatch style = Dispatch.call(activeDoc,"Styles","标题 1").toDispatch();
  Dispatch.put(getSelection(),"Style",style);
8、插入换页符
  Dispatch.call(getSelection(), "InsertBreak", new Variant(7)); 
9、当前位置插入文字
  
Dispatch.put(getSelection(), "Text","社会主义好");  
10、插入表格

  Dispatch tables = Dispatch.get(doc, "Tables").toDispatch();
  Dispatch range = Dispatch.get(getSelection(), "Range").toDispatch();
  Dispatch table = Dispatch.call(tables, "Add", range, new Variant(5),new Variant(5)).toDispatch(); 
11、设置单元格样式并插入文字
  Dispatch cell = Dispatch.call(table, "Cell",Integer.toString(1), Integer.toString(1)).toDispatch();
  Dispatch.call(cell, "Select");
  Dispatch shading = Dispatch.get(cell, "Shading").toDispatch();
  Dispatch.put(shading, "BackgroundPatternColorIndex", "15");
  Dispatch font = Dispatch.get(getSelection(), "Font").toDispatch();
  Dispatch.put(font, "Color", "0,0,0,0");
  Dispatch.put(font, "Bold", "1");
  Dispatch.put(getSelection(), "Text", "中国"); 
12、设置表格列宽
  Dispatch columns = Dispatch.get(table, "Columns").toDispatch(); 
  int[] ColWidth = {180,40,90,15,33};
  for(int iCW=0;iCW<5;iCW++)
  {
   Dispatch column = Dispatch.call(columns, "Item",new Variant(iCW+1)).toDispatch(); 
   Dispatch.put(column, "Width", new Variant(ColWidth[iCW]));
  }
13、从表格中移到下面
  Dispatch.call(getSelection(),"MoveRight",new Variant(1),new Variant(1));
  Dispatch.call(getSelection(), "MoveDown");
  
  就总结这些吧,如果你用到其他的格式什么的,你可以通过Word提供的宏录制功能记录下你的操作然后查看它是用的什么指令。

JAVA操作word方法的更多相关文章

  1. Java 操作Word书签(二):添加文本、图片、表格到书签内容

    在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签.读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本.图片. ...

  2. [转载]java操作word(一)

    一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...

  3. [原创]java操作word(一)

    一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...

  4. Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

  5. Java 操作Word书签(三):用文本、图片、表格替换书签

    本篇文章将继续介绍通过Java来操作Word书签的方法,即替换Word中已有书签,包括用新的文本.图片.表格等替换原有书签处的内容. 使用工具:Free Spire.Doc for Java (免费版 ...

  6. Java 操作Word表格

    本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...

  7. java操作word,excel,pdf

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  8. Java操作word文档使用JACOB和POI操作word,Excel,PPT需要的jar包

    可参考文档: http://wibiline.iteye.com/blog/1725492 下载jar包 http://download.csdn.net/download/javashixiaofe ...

  9. [转载]java操作word生成水印

    应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...

随机推荐

  1. JS学习之--比较两个Object数组是否相等

    一.问题 在js中是不能直接用“==”或者“===”来计算两个数组是否相等的,那么就需要对数组的值进行比较: 二.次解决方案 对于比较两个数组次要的方法有如下几种,为什么说是次要解决方案呢?因为它不能 ...

  2. noi.ac #30 思维

    \(des\) 给定升序数组 \(A, B\) 对于任意两个集合 \(a, b\) 分别是 \(A, B\) 的子集,总价值为较小的集合的和, 总代价为 \((|a| + |b|) \times w\ ...

  3. CODE FESTIVAL 2016 qual A题解

    传送门 不知道为什么\(AGC\)系列的题里突然多了这些--那就做吧-- \(A\) 什么玩意儿-- upd:因为没看到最后要加换行居然没有\(1A\)好气哦-- const int N=15; ch ...

  4. We found potential security vulnerabilities in your dependencies. Only the owner of this reposito...

    删除package-lock.json并同步到git 定义的依赖项./package-lock.json具有已知的安全漏洞 找到一个叫做.gitignore,把package-lock.json贴在这 ...

  5. Pytest权威教程04-断言的编写和报告

    目录 断言的编写和报告 使用assert语句进行断言 异常断言 警示断言 使用上下文对比 自定义断言对比信息 高级断言内省 返回: Pytest权威教程 断言的编写和报告 使用assert语句进行断言 ...

  6. C 库函数 - strstr()

    定义 char *strstr(const char *haystack, const char *needle) 参数 haystack -- 要被检索的 C 字符串. needle -- 在 ha ...

  7. Note_4.7

    2019/4/7 奇奇怪怪的笔记 狄利克雷卷积  \(μ∗1=ϵ\),莫比乌斯反演 \(Id=φ∗1⇒φ=μ∗Id\) \(d=1∗1⇒1=μ∗d\) \(σ=Id∗1⇒Id=μ∗σ\) \(σ=φ∗ ...

  8. 在Kaggle免费使用GPU训练自己的神经网络

    Kaggle上有免费供大家使用的GPU计算资源,本文教你如何使用它来训练自己的神经网络. Kaggle是什么 Kaggle是一个数据建模和数据分析竞赛平台.企业和研究者可在其上发布数据,统计学者和数据 ...

  9. http json token

    http json token https使用证书来保证链接的安全,是目前最为流行的做法. 另一种保证HTTP 函数的安全,就是http json token,只有TOKEN验证通过,才能调用方法(一 ...

  10. python matplotlib生成图形

    y=2x+3 import matplotlib.pyplot as plt#约定俗成的写法plt #首先定义两个函数(正弦&余弦) import numpy as np #plt.figur ...