`
zheyiw
  • 浏览: 1024956 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jacob读写excel

    博客分类:
  • JAVA
阅读更多

//创建excel并写入保存,再打印
public class ExcelTest {
	private static ActiveXComponent xl;
	private static Object workbooks = null;
	private static Object workbook = null;
	private static Object sheet = null;
	private static String filename = null;
	private static boolean readonly = false;

	public static void main(String[] args) {
		Date now = new Date();
		Long nowtime = now.getTime();
//excel目录需要预先创建
		String path = "c:\\excel\\"+nowtime+".xls";
		createAndSave(path);
		printExcel(path);
	}

		// 读取值
	private static String GetValue(String position) {
		Object cell = Dispatch.invoke((Dispatch) sheet, "Range", Dispatch.Get,
				new Object[] { position }, new int[1]).toDispatch();
		String value = Dispatch.get((Dispatch) cell, "Value").toString();

		return value;
	}
	
	private static void createAndSave(String path){
		ActiveXComponent xl = new ActiveXComponent("Excel.Application");
		Object xlo = xl.getObject();
		try {
			System.out.println("version=" + xl.getProperty("Version"));
			System.out.println("version="
					+ Dispatch.get((Dispatch) xlo, "Version"));
			xl.setProperty("Visible", new Variant(true));
			Object workbooks = xl.getProperty("Workbooks").toDispatch();
			Object workbook = Dispatch.get((Dispatch) workbooks, "Add")
					.toDispatch();
			Object sheet = Dispatch.get((Dispatch) workbook, "ActiveSheet")
					.toDispatch();
			Object a1 = Dispatch.invoke((Dispatch) sheet, "Range",
					Dispatch.Get, new Object[] { "A1" }, new int[1])
					.toDispatch();
			Object a2 = Dispatch.invoke((Dispatch) sheet, "Range",
					Dispatch.Get, new Object[] { "A2" }, new int[1])
					.toDispatch();
			Dispatch.put((Dispatch) a1, "Value", "123.456");
			Dispatch.put((Dispatch) a2, "Formula", "=A1*2");
			Dispatch.call((Dispatch) workbook, "SaveAs", path);

			System.out.println("a1 from excel:"
					+ Dispatch.get((Dispatch) a1, "Value"));
			System.out.println("a2 from excel:"
					+ Dispatch.get((Dispatch) a2, "Value"));
			// Variant f = new Variant(false);
			// Dispatch.call((Dispatch) workbooks, "Close", f);
			// Dispatch.call((Dispatch) workbook, "Close");
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			xl.invoke("Quit", new Variant[] {});
		}
	}
	
	private static boolean printExcel(String path){
		ComThread.InitSTA();
		ActiveXComponent xl = new ActiveXComponent("Excel.Application");
		try {
			// System.out.println("version=" + xl.getProperty("Version"));
			Dispatch.put(xl, "Visible", new Variant(false));
			Dispatch workbooks = xl.getProperty("Workbooks").toDispatch();
			Dispatch excel = Dispatch.call(workbooks, "Open", path).toDispatch();
			Dispatch.get(excel, "PrintOut");
			System.out.println("printOver");
			Dispatch.call(excel, "Close");
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			xl.invoke("Quit", new Variant[] {});
			ComThread.Release();
		}
		return false;
	}
}

分享到:
评论

相关推荐

    运用jacob方式,java操作 excel文件读写(含配置文件和实例)

    在Java编程环境中,有时我们需要对Excel文件进行读取和写入操作,这通常是数据分析、报表生成或数据导入导出等任务的一部分。Jacob库提供了一种有效的方法来实现这个目标,尤其是在处理老版本的Microsoft Excel(如...

    Jacob Word excel 转PDF 合并PDF文件

    标题提到的"Jacob Word excel 转PDF 合并PDF文件"是指使用Jacob库来将Microsoft Word和Excel文档转换为PDF格式,并进一步合并多个PDF文件。Jacob(Java Advanced COM Bridge)是一个Java库,它允许Java应用程序与...

    jacob-excel转pdf.zip

    这意味着你可以使用Java代码来控制那些只提供了COM接口的软件,如Microsoft Excel,从而执行诸如创建、读取、修改或转换文件等操作。 要使用JACOB进行Excel到PDF的转换,你需要遵循以下步骤: 1. **引入JAR包**:...

    java+jacob解析Excel文档并插入到mysql

    2. **读取Excel文件**:使用Jacob的`ActiveXComponent`和`Dispatch`类打开并读取Excel文件。通过`Dispatch.get()`和`Dispatch.call()`方法来访问和操作Excel对象,例如获取工作簿、工作表和单元格的数据。 3. **...

    jacob实例 word excel pdf

    在Excel处理方面,Jacob同样提供了丰富的功能,可以读取和修改电子表格数据,创建图表,设置单元格样式等。以下是一些基本操作: 1. 打开Excel应用和工作簿: ```java ActiveXComponent excelApp = new ...

    jacob_excel_reader-master

    总结来说,"jacob_excel_reader-master"项目提供了一种利用Jacob库在Java中高效读取Excel文件的方案。通过深入理解Jacob的工作原理和项目中的API设计,开发者可以更好地应对大量Excel数据处理的需求,提升工作效率。...

    jacob的excel转pdf

    Jacob提供了这样的桥梁,使得Java开发者可以利用Excel的功能,包括读取、写入和转换Excel文件。 Excel到PDF的转换通常涉及以下几个步骤: 1. **初始化Jacob**: 在Java代码中,首先需要加载Jacob的动态链接库(DLL...

    用Jacob自动化操作Excel

    这个"用Jacob自动化操作Excel"的示例是作者原创的,旨在展示如何利用Jacob库在Java程序中读写、编辑Excel文件。下面将详细阐述Jacob库的基本使用方法以及在自动化操作Excel时可能涉及的关键知识点。 1. **Jacob简介...

    jacob打印机打印本地的excel和word

    Jacob库是Java和COM接口之间的桥梁,它使得开发者能够通过Java代码直接调用Windows操作系统中的COM组件,这在处理与Office相关的任务时非常有用,如读取、编辑和打印文档。Jacob库提供了一个JNI(Java Native ...

    jacob读取word表格

    标题“jacob读取word表格”涉及到的是使用Jacob库来操作Microsoft Word文档,特别是从中读取表格数据。Jacob是一个Java到COM桥接库,允许Java应用程序调用COM组件,如Microsoft Office的应用程序。 在Java中,直接...

    个人项目用jacob操作excel的代码样例

    通过Jacob,开发者可以创建、读取、修改Excel文件,执行复杂的计算,甚至运行宏,而无需依赖像Apache POI这样的纯Java解决方案。 以下是使用Jacob操作Excel的一些关键知识点: 1. **安装和配置Jacob**: 首先,你...

    jacob.jar jacob.dll以及自己封装的java类,很好用

    5. **Excel读写**:参照“使用JACOB进行Excel读写控制.txt”,学习如何使用Jacob读取Excel数据、修改单元格内容、处理公式和图表。 6. **处理Word文档的高级功能**:阅读“使用Jacob来处理Word文档.txt”,掌握如何...

    jacob操作excel

    通过以上步骤,开发者可以使用Jacob在Java程序中实现对Excel的复杂操作,如读取、修改、创建、合并和分析数据等。在实际项目中,可以封装成工具类,以提高代码的可复用性和维护性。例如,提供的`JacobExcelTool.java...

    jacob excel资料.doc

    使用Jacob控制Excel主要涉及到创建Excel对象、打开/保存/关闭工作簿、读写单元格等操作。 ##### 3.1 创建Excel对象 在Java中,可以通过`ActiveXComponent`类创建一个指向Excel应用程序的对象。例如: ```java ...

    jacob操作word,excel(图表,表格等)代码

    在这个主题下,我们将深入探讨如何使用Jacob来操作Word和Excel,特别是在生成报告、处理数据和展现图表方面。 1. **Jacob简介**: Jacob全称为Java COM Bridge,它通过JNI(Java Native Interface)技术实现了Java...

    JACOB操作word和excel示例

    例如,你可以使用Jacob来读取、写入或修改Excel工作簿。以下是一些基本操作: 1. **创建Excel对象**:与Word一样,你需要先创建Excel应用实例。 2. **打开或创建工作簿**:可以打开现有的Excel文件或创建新的工作...

    jacob直接操作Excel图表函数

    纵向读取数据绘制chart 设置线条气泡颜色 黄色 Dispatch seriesChartFillFormat Dispatch get series "Fill" toDispatch ; Dispatch seriesForeColor Dispatch get seriesChartFillFormat &...

    java打印Excel(与打印机通信、jacob)

    Jacob库不仅限于打印,还可以用于读写Excel文件、执行Excel宏等操作,极大地扩展了Java在Windows环境下处理Office文档的能力。 总之,Java通过Jacob库与打印机通信打印Excel文档是一种实用的技术,它结合了Java的跨...

    java jacob调用autocad读取文件

    Java Jacob调用AutoCAD读取文件是一种常见的技术实践,它允许开发者通过Java程序与AutoCAD进行交互,实现对DWG或DXF等AutoCAD文件的读取操作。Jacob(Java和COM的桥梁)是一个Java库,它使得Java应用程序能够直接...

Global site tag (gtag.js) - Google Analytics