- 浏览: 144409 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zjw530134683:
按照你说的操作方式,word没有打印成功,但是EXCEL打印成 ...
java用JCom打印 -
listen-raining:
哥们,麻烦问下Unix操作系统下如何用jcom ?
java用JCom打印 -
另一花生:
楼主,我在刚开始学习这个,我发现您的这个文档学习了,但是我想知 ...
java用JCom打印 -
上官车月:
...
automation服务器不能创建对象 ActiveX -
skynet_java:
:jp.ne.so_net.ga2.no_ji.jcom.JC ...
java用JCom打印
JCom可以支持打印,支持生成word,生成Excel,并且可以将文本转换成pdf
这里给出生成word和添加表格的代码:import jp.ne.so_net.ga2.no_ji.jcom.IDispatch;
import jp.ne.so_net.ga2.no_ji.jcom.JComException; import jp.ne.so_net.ga2.no_ji.jcom.ReleaseManager; public class TestCreatWord { /** * @param filePath --文件的路径 * @param text --插入的文本的内容 * @param fontName --字体的名字 * @param fontSize --字号 * @param fontBold --是否加粗 * @param align --对齐方式:comment--0:left,1:center,2:right */ public synchronized void createWord(String filePath, String text, String fontName, String fontSize, Boolean fontBold, int align) { ReleaseManager rm = new ReleaseManager(); IDispatch docApp = null; try { docApp = new IDispatch(rm, "Word.Application"); IDispatch documents = (IDispatch) docApp.get("Documents"); documents.method("add", null); IDispatch selection = ((IDispatch) docApp.get("Selection")); IDispatch paragraphFormat = ((IDispatch) selection .get("ParagraphFormat")); paragraphFormat.put("Alignment", new Integer(align));// 对齐方式0:left,1:center,2:right IDispatch font = ((IDispatch) selection.get("Font")); font.put("name", fontName); font.put("Size", fontSize); font.put("Bold", fontBold); selection.method("TypeText", new Object[] { text }); ((IDispatch) docApp.get("ActiveDocument")).method("saveAs", new Object[] { filePath, new Integer(0) }); } catch (JComException e) { e.printStackTrace(); } finally { try { if (docApp != null) { ((IDispatch) docApp.get("ActiveDocument")).put("Saved", new Boolean(true)); docApp.method("quit", null); docApp = null; } rm.release(); rm = null; } catch (JComException e) { e.printStackTrace(); } } } /** * @param filePath --文件路径 * @param rowsNum --行数 * @param colsNum --列数 * @param vals --数组 */ public synchronized void addTable(String filePath, int rowsNum, int colsNum, String[][] vals) { ReleaseManager rm = new ReleaseManager(); IDispatch docApp = null; try { docApp = new IDispatch(rm, "Word.Application"); IDispatch documents = (IDispatch) docApp.get("Documents"); IDispatch doc = (IDispatch) documents.method("open", new Object[] { filePath });// open IDispatch selection = ((IDispatch) docApp.get("Selection")); selection.method("endKey", new Object[] { new Integer(6) });// 光标到文档末尾 //selection.method("InsertBreak", new Object[] { new Integer(7) });// 插入一个分页符 IDispatch range = (IDispatch) doc.method("Range", new Object[] { selection.get("start"), selection.get("start") });// 获得一个range,不知道干什么的 range.method("InsertBreak", new Object[] { new Integer(2) });// 插入一个分页符 selection.put("start", ((Integer) selection.get("start")) + 1);//选取的开始点右移一个位置,不知道为什么,但是不加这一行不行,变成整篇文档横排了 // selection = ((IDispatch) docApp.get("Selection")); range = (IDispatch) doc.method("Range", new Object[] { selection.get("start"), ((IDispatch) doc.get("Content")).get("end") });//获得一个范围 IDispatch pageSetup = (IDispatch) range.get("PageSetup");//获得页面设置 pageSetup.put("Orientation", new Integer(1));//横排 IDispatch tables = ((IDispatch) doc.get("Tables"));// 得到doc中的表格集合 tables.method("add", new Object[] { selection.get("range"), rowsNum, colsNum });// 增加一张表 IDispatch table = (IDispatch) tables.method("item", new Object[] { new Integer(1) });// 获得刚增加的表格 IDispatch rows = ((IDispatch) table.get("rows"));// 得到行集合 for (int i = 1; i <= rowsNum; i++) { IDispatch row = (IDispatch) rows.method("item", new Object[] { new Integer(i) }); IDispatch cells = (IDispatch) row.get("Cells");// 单元格集合 for (int j = 1; j <= colsNum; j++) { IDispatch cell = (IDispatch) cells.method("item", new Object[] { new Integer(j) }); ((IDispatch) cell.get("Range")).put("Text", vals[i - 1][j - 1]);//为表格中的格子赋值 } } ((IDispatch) docApp.get("ActiveDocument")).method("saveAs", new Object[] { filePath, new Integer(0) }); } catch (JComException e) { e.printStackTrace(); } finally { try { if (docApp != null) { ((IDispatch) docApp.get("ActiveDocument")).put("Saved", new Boolean(true)); docApp.method("quit", null); docApp = null; } rm.release(); rm = null; } catch (JComException e) { e.printStackTrace(); } } } public static void main(String[] args) { String [][] aa = new String[10][10]; for (int i = 0; i < aa.length; i++) { for (int j = 0; j < aa[i].length; j++) { aa[i][j] = "empty"; } } new TestCreatWord().addTable("c:\\aa.doc", 10, 10, aa) ; } }
发表评论
-
jvm32位和64位的区别
2016-10-27 09:44 654jvm32位和64位的区别 : http://zyslov ... -
正则表达式
2016-09-28 14:10 471匹配中文字符的正则表达式: [/u4e00-/u9fa5]评 ... -
使用eclipse调用天气预报的测试代码WSDL
2012-06-01 13:40 37691. 下载axis_src_1.4.zip文件 下载 ... -
java的volatile关键字小记
2012-05-31 16:47 1244用在多线程,同 ... -
JAVA与数据结构 集合链表
2012-04-26 19:16 1020http://hi.baidu.com/huifu111/bl ... -
JNLP、webStart 和applet的区别
2012-02-29 22:36 12781. JNLP是一个java网络发布协议,是一个规范,规范中可 ... -
OSGI如何读取插件中的资源文件
2011-11-16 11:17 1488思路就是通过bundleContext来取得资源。 首先,要在 ... -
java基础 ThreadLocal
2011-11-15 20:31 914今天学习了ThreadLocal,和大家分享下,理解的不是很透 ... -
osgi 实战的读书笔记整理
2011-11-07 22:24 977对osgi实战读书整理了一点笔记,欢迎下载 -
equinox 加载类顺序研究
2011-10-27 15:31 900讲解详细: http://www.cnblogs.com/ ... -
javax.mail.NoSuchProviderException: smtp (weblogic10+osgi)解决办法及原因
2011-08-29 09:54 5152org.springframework.mail.Ma ... -
在myeclipse中点击 deploy 按钮,无法部署!
2011-03-30 14:15 3188如何在myeclipse布置非myeclipse创建的工 ... -
POI+jfreechart资料2
2010-12-22 16:19 1082JFreeChart类: void setAntiA ... -
POI+jfreechart资料
2010-12-22 16:17 2822Jfreechart功能介绍 JFreeChar ... -
字符编码笔记:ASCII,Unicode和UTF-8
2010-11-04 14:49 759字符编码笔记:ASCII,Un ... -
socket学习笔记(1)
2010-11-01 15:28 993client端的代码 package test2; ... -
锁定文件的一部分,独占打开文件,是测试拷贝处用的
2010-10-28 09:40 1294import java.io.File; import ja ... -
JCOM生成Excel2
2010-05-28 13:09 1841import java.io.File; imp ... -
用JCom生成Excel文档
2010-05-28 11:20 1668代码:import java.io.File; import ... -
用jcom和jxl实现word转换成PDF
2010-05-28 10:05 3137java应用jcom将word转pdf 在JAV ...
相关推荐
标题中的"jcom.jar和jcom.dll"是两个关键组件,它们在Java环境中用于与Microsoft Office应用程序,如Visio、Word和Excel进行交互,并支持文件转换功能。jcom.jar是Java类库,它包含了用于与DLL(动态链接库)交互的...
例如,可以轻松地实现在 Java 应用中添加“导出到 Excel”的功能,甚至处理更复杂的任务,如在 Word 中生成报告或通过 Powerpoint 创建演示文稿。 要开始使用 JCOM,首先需要从 SourceForge 下载 JCOM 的 API,其中...
在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...