博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jacob打印word(.doc)或者excel(.xls) 【java实现】
阅读量:6830 次
发布时间:2019-06-26

本文共 1876 字,大约阅读时间需要 6 分钟。

还是直接贴代码喽

package com.xfzx.test.POI.main;import com.jacob.activeX.ActiveXComponent;import com.jacob.com.ComThread;import com.jacob.com.Dispatch;import com.jacob.com.Variant;public class JacobPress {	/**	 * @param args	 */	public static void main(String[] args) {		// TODO Auto-generated method stub		printWord("D:/txt.docx");	//	printExcel("D:/提醒通知明细通用模板.xlsx");	}	public static void printExcel(String filePath) {		/**		 * 功能:实现打印工作		 */		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", filePath)					.toDispatch();			// 开始打印			Dispatch.call(excel, "PrintOut");            xl.invoke("Quit", new Variant[] {});		} catch (Exception e) {			e.printStackTrace();		} finally {			// 始终释放资源			ComThread.Release();		}	}	public static void printWord(String filePath) {		ComThread.InitSTA();		ActiveXComponent wd = new ActiveXComponent("Word.Application");		try {			// 不打开文档			Dispatch.put(wd, "Visible", new Variant(true));			Dispatch document = wd.getProperty("Documents").toDispatch();			// 打开文档			Dispatch doc = Dispatch.invoke(document, "Open", Dispatch.Method,					new Object[] { filePath }, new int[1]).toDispatch();			// 开始打印			Dispatch.callN(doc, "PrintOut");			wd.invoke("Quit", new Variant[] {});		} catch (Exception e) {			e.printStackTrace();		} finally {			// 始终释放资源			ComThread.Release();		}	}		// 获得文件后缀名	public static String getPostfix(String inputFilePath) {		String[] p = inputFilePath.split("\\.");		if (p.length > 0) {// 判断文件有无扩展名			// 比较文件扩展名			return p[p.length - 1];		} else {			return null;		}	}}

  

转载于:https://www.cnblogs.com/hold/archive/2013/04/09/3010042.html

你可能感兴趣的文章
在 SQL2005 使用行转列或列转行
查看>>
我的友情链接
查看>>
如何设计Android App测试用例
查看>>
dns服务器在做nslookup测试的时候,出现dns timeout 2 seconds的错误解释
查看>>
定义封装的类类型 笔记
查看>>
行业数据获取
查看>>
SpringMvc+Hibernate+Mysql保存表情字符(昵称)到数据库报错的问题?
查看>>
微软2016校园招聘在线笔试 B Professor Q's Software [ 拓扑图dp ]
查看>>
TinyUI组件开发示例
查看>>
qt添加图标
查看>>
字节流高效缓冲区文件复制
查看>>
ColorMatrixColorFilter颜色过滤(离线用户的灰色头像处理)
查看>>
react:reducer-creator
查看>>
MyEclipse 总是弹出“multiple Errors have Occurred”
查看>>
sas实例合集
查看>>
C语言解释器的实现--存储结构(一)
查看>>
Java Eclipse常规设置
查看>>
ios官方菜单项目重点剖析附项目源码
查看>>
构建javaweb项目
查看>>
MVC5学习笔记
查看>>