JAVA操作word方法
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方法的更多相关文章
- Java 操作Word书签(二):添加文本、图片、表格到书签内容
在Java操作Word书签(一)中介绍了给Word中的特定段落或文字添加书签.读取及删除已有书签的方法,本文将继续介绍Java 操作Word书签的方法,即如何给已有的书签添加内容,包括添加文本.图片. ...
- [转载]java操作word(一)
一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...
- [原创]java操作word(一)
一. 需求背景 在做项目的过程中,经常会遇到要把数据库数据导出到Word文件中的需求,因为很多情况下,我们需要将数据导出到WORD中进行打印.此需求可以通过用程序填充数据到word模板中来实现.所谓模 ...
- Java 操作Word表格——创建嵌套表格、添加/复制表格行或列、设置表格是否禁止跨页断行
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- Java 操作Word书签(三):用文本、图片、表格替换书签
本篇文章将继续介绍通过Java来操作Word书签的方法,即替换Word中已有书签,包括用新的文本.图片.表格等替换原有书签处的内容. 使用工具:Free Spire.Doc for Java (免费版 ...
- Java 操作Word表格
本文将对如何在Java程序中操作Word表格作进一步介绍.操作要点包括 如何在Word中创建嵌套表格. 对已有表格添加行或者列 复制已有表格中的指定行或者列 对跨页的表格可设置是否禁止跨页断行 创建表 ...
- java操作word,excel,pdf
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- Java操作word文档使用JACOB和POI操作word,Excel,PPT需要的jar包
可参考文档: http://wibiline.iteye.com/blog/1725492 下载jar包 http://download.csdn.net/download/javashixiaofe ...
- [转载]java操作word生成水印
应用场景 为了保护版权或辨别文件的真伪,有时需要在生成的Word文件中动态添加水印,PageOffice组件的WaterMark类就封装了给在线编辑的Word文件添加水印这一功能,调用接口非常简单. ...
随机推荐
- ZOJ 1608 Two Circles and a Rectangle
Give you two circles and a rectangle, your task is to judge wheather the two circles can be put into ...
- 机器学习---用python实现感知机算法和口袋算法(Machine Learning PLA Pocket Algorithm Application)
之前在<机器学习---感知机(Machine Learning Perceptron)>一文中介绍了感知机算法的理论知识,现在让我们来实践一下. 有两个数据文件:data1和data2,分 ...
- Processing 中自定义旋转的实现
一.首先是关键概念在 Processing 中希望处理圆周上的点需要 旋转公式:x = 旋转中心 + 旋转半径 x cos(旋转角度);y = 旋转中心 + 旋转半径 x sin(旋转角度): 用这一 ...
- 生成ROM时修改参数
在Xilinx ISE中生成ROM后,如果修改参数,可能会出现错误: “The Memory Initialization vector can contain between 1 to Write” ...
- 《挑战30天C++入门极限》 对C++中引用的补充说明(实例)
对C++中引用的补充说明(实例) #include <iostream> #include <string> using namespace std; ...
- 信竞四定律orz
正常代码不写#define @zdx 平时刷题不写freopen @liuziwen 循环内部不写return 0 @asdfo123 主程序内不写char array @asdfo123 输出时间: ...
- [WEB安全]SSRF中URL的伪协议
当我们发现SSRF漏洞后,首先要做的事情就是测试所有可用的URL伪协议 0x01 类型 file:/// dict:// sftp:// ldap:// tftp:// gopher:// file: ...
- 纯JavaScript开发飞机大战项目
开发工具: HBuilder 编程语言:JavaScript 其他技术:Html + Css 项目截图: 视频: 源代码: 在线观看地址: (暂无) 百度网盘下载地址: 请加QQ群:915 ...
- IDEA_2019.2的安装与个人配置(Windows)
1. 下载 官方下载网站:https://www.jetbrains.com/idea/download/ IDEA是支持多平台的开发工具,分为Windows.Mac和Linux三个平台,这里就只拿W ...
- sql查询性能调试,用SET STATISTICS IO和SET STATISTICS TIME---解释比较详细
一个查询需要的CPU.IO资源越多,查询运行的速度就越慢,因此,描述查询性能调节任务的另一种方式是,应该以一种使用更少的CPU.IO资源的方式重写查询命令,如果能够以这样一种方式完成查 ...