Java操作Excel方法比较
1. Java读取Excel方式对比
在Java中读写MS Excel文件主要有两种典型的方法
l Java-To-Com的方式:
(1) jCom
(2) Jacob
l 直接Excel文件读写
(3) jExcel
(4) POI
方法1中,是利用Java-Com桥的方式来读写Excel文件,需要后台有Com组件的支持,不能脱离Windows平台使用。
方法2是直接使用纯Java API存取Excel文件,可以直接从磁盘文件或者Java的输入输出流中读写Excel文件。相比之下方法2要更为直接一些,不必依赖于Windows平台以及Com组件。jExcel与POI都是开源的Java项目,jExcel是sourceforge的开源项目(http://jexcelapi.sourceforge.net/),POI是Apache的开源项目(http://jakarta.apache.org/poi/)。
2.POI功能介绍
POI是Apache下Jakata项目的子项目,其目标是处理OLE2对象。目前比较成熟的包有HSSF,主要用来处理Ms Excel文件。HWPF包,正在完善当中,主要用于处理Ms Word文件。HSLF包,主要用于处理Ms PowerPoint文档。POI组件除了可以供Java使用外,还提供了Ruby接口,可以直接供Ruby使用。
POI的部分代码是来自于OpenOffice,对于处理Excel文档而言,POI是目前最成熟与稳定的Java开源项目。
以上的方法,大致看了一下JExcel和HSSF,JExcel就是jxl。以后再写点具体的
另:
POI的子项目有:
POIFS
对于MS Office文档文件结构的访问
HSSF
MS Excel数据访问
HWPF
MS Word数据访问
HPSF
Office文档的属性访问
HSLF
PowerPoint数据访问
POI-Ruby
对gcj编译类库的Ruby绑定
都没接触过,刚开始接触HSSF。
下面是几种方法的对比,直接复制粘帖一下,以后慢慢研究比较。
相关文档:
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
package mypakage;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method; ......
1.Proxy
模式
代理模式支持将某些操作从实际的对象中分离出来,通过它的代理类提供处理。这样便于修改和管理这些特定的操作。
下面示例一个代理模式的实现。
<<interface>>Subject.java
package
com.zj.proxy;
public
interface
Subject {
void
operation1();
......
今天把以前写的java代码拿出来,发现出了好多错误。调了半天,发现是版本的问题,郁闷!
可能之前我写代码的时候用的是JDK1.5,今天从网上下载JDK1.6,没成功。就草草下载了JDK1.5,结果总是提示“could not find the main class. program will exit”。我就到
window-》preference-》java-》compiler把当前的版 ......
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A)
===================== ......