[color=darkred][/color][size=medium][/size][ 2009-2-25 8:58:00 | By: 老井 ]
最近用到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连接mysql数据库的驱动,里边包含两个版本:5.1.47、8.0.28 也可从以下两个地址免费下载: 1. https://repo1.maven.org/maven2/mysql/mysql-connector-java/ 2. ...
A080219O.pdf来源:https://www.immagic.com/eLibrary/ARCHIVES/TECH/AMQP_US/A080219O.pdf amqp.pdf来源:https://www.amqp.org/sites/amqp.org/files/amqp.pdf amqp-core-complete-v1.0.pdf来源:...
地址:https://www.sencha.com/products/extjs/cmd-download/ 注意:Extjs4.XX的只能用,Sencha Cmd 4.0.5 (Windows) 来打包,不然运行的时候会报错 需要JDK1.6 或 JDK1.7,测试用1.8也能正常运行,注意这点即可。 ...
经历过4天的辛苦奋战,终于总结出了STS安装SVN遇到的问题,之前用的my eclipse2014,用的第三方...经过多次试验,还是SVN插件安措,不是系统的问题,STS安装的自带的svn插件后,必须还要在添加一个这个包,不然不能用,...
- **描述**: 操作系统(Linux)研究专家,《深入理解Linux内核》的译者。 **2. 飞翔,嵌入式Linux** - **网址**: http://blog.chinaunix.net/u/30686/index.html - **描述**: 专注于嵌入式Linux方向的技术分享。 *...
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module make && make install ``` **2. 配置 Nginx** - 编辑 Nginx 的配置文件 `/usr/local/nginx/conf/nginx.conf`,...
#### 二、Eclipse 插件详细介绍 ##### 1. EMF, GEF-Graphical Editor Framework, UML2, VE-Visual Editor - **EMF (Eclipse Modeling Framework)**:EMF 是一个用于快速开发模型驱动的应用程序框架。它提供了一种...
### MyEclipse插件介绍与下载 在软件开发领域,特别是Java开发中,Eclipse作为一款流行的集成开发环境(IDE),提供了丰富的插件生态来增强其功能。本文将详细介绍一些常用的MyEclipse插件及其下载地址,帮助开发者...
#### 18. Call Hierarchy - Show Method Invocations - **Call Hierarchy**:展示方法调用层次结构。 **下载地址**:[http://eclipse-tools.sourceforge.net/call-hierarchy/index.html]...
AliOSS & Qiniu & QcloudCOS | 云存储 | [https://www.aliyun.com/product/oss/](https://www.aliyun.com/product/oss/) [http://www.qiniu.com/](http://www.qiniu.com/) [https://www.qcloud.com/product/cos]...
4. **构建Erlang**:进入`/root/.kerl/archives`目录,然后运行`./kerl build 25.1`命令。这个命令告诉`kerl`你要构建的是Erlang的25.1版本。`kerl`将自动处理源代码的解压、配置、编译和安装过程。 5. **安装...
UltraEdit and UEStudio allow you to customize the word wrap and tab settings for any type of file. This power tip walks you through the steps to configure these customizations Versioned backup Set ...
3、Bmob后台修改小程序Appid与支付信息,具体操作图解,请参见:[http://blog.it577.net/archives/103/](http://blog.it577.net/archives/103/) ### 设置管理员 在Bmob后台,找到_User表,将自己的用户的isAdmin...
反编译工具。具体使用教程可以参见:http://www.lizenghai.com/archives/898.html
在Android开发过程中,日志(Log)调试是一个不可或缺的环节,它可以帮助开发者追踪代码...通过阅读《http://blog.csdn.net/bbld_/article/details/39757099》这篇博客,可以深入了解DebugLog的使用方法和具体案例。
下载界面:https://downloads.mysql.com/archives/community/ 下面的教程基于mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz进行讲解。 教程链接:https://blog.csdn.net/qq_43017750/article/details/106486280 快捷...
- **功能简介**:SWT Designer插件为Java GUI设计提供了一个可视化工具,支持拖放操作,大大提高了界面设计的效率。 ##### 26. Tomcat Plugin,支持Tomcat服务器 - **下载地址**:...
- [http://www.mcublog.com/blog/user1/5939/archives/2006/19206.html](http://www.mcublog.com/blog/user1/5939/archives/2006/19206.html) - [http://blog.chinaunix.net/u1/34474/showart_487409.html]...
2. **LexemeTech博客**:`http://www.lexemetech.com/2007/09/java-servlet-for-thrift.html` - 介绍了如何在Hadoop环境中使用Thrift进行RPC通信。 3. **Solomons的博客**:`...