1.数据准备
测试环境:WINDOWS XP + HP541
POI API VERSION:poi 3.7
JXL API VERSION:jexcelapi-2.6.12
EXCEL格式:4列文本
[img][/img]
2.测试程序:
POI程序:
import java.io.FileInputStream;
import java.util.Date;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
public class TestPOI {
public static void read(String pathName) throws Exception {
Workbook workbook = new HSSFWorkbook(new POIFSFileSystem(new FileInputStream(pathName)));
Sheet sheet = workbook.getSheetAt(0);
int rows = sheet.getPhysicalNumberOfRows();
for (int i = 0; i < rows; i++) {
Row rowObj = sheet.getRow(i);
for (int j = 0; j < 4; j++) {
Cell cell = rowObj.getCell(j);
Object content = cell.getStringCellValue();
System.out.println("i=" + i + " j=" + j + " " +content.toString());
}
}
}
public static void main(String[] args) throws Exception {
Date date = new Date();
long dateLong = date.getTime();
read("D:\\TableInfoFormat.xls");
Date date1 = new Date();
long date1Long = date1.getTime();
System.out.println((date1Long - dateLong) + "ms");
}
}
//JXL程序:
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Date;
import jxl.Sheet;
import jxl.Workbook;
public class TestJxl {
public static void readExcel1(String pathName) throws Exception {
InputStream is = new FileInputStream(pathName);
Workbook wb = Workbook.getWorkbook(is);
Sheet sheet = wb.getSheet(0);
int rows = sheet.getRows();
for (int i = 1; i < rows; i++) {
for (int j = 0; j < 4; j++) {
System.out.println("i=" + i + " j=" + j + " " +sheet.getCell(j, i).getContents().trim());
}
}
is.close();
}
public static void main(String[] args) throws Exception{
Date date = new Date();
long dateLong = date.getTime();
readExcel1("D:\\TableInfoFormat.xls");
Date date1 = new Date();
long date1Long = date1.getTime();
System.out.println((date1Long - dateLong) + "ms");
}
}
3.测试结果
类型 数据量(行) 执行时间(ms) 执行时间(ms) 执行时间(ms) 平均时间(ms)
POI 1000 579 562 532 558
JXL 1000 500 469 484 484
POI 5000 984 984 969 979
JXL 5000 922 860 890 891
POI 10000 1609 1594 1641 1615
JXL 10000 1437 1453 1406 1432
POI 30000 3782 3765 3828 3792
JXL 30000 3922 3906 3922 3917
POI 50000 5953 6484 5859 6099
JXL 50000 6765 7421 6984 7057
4.总结
在小数据量时jxl快于poi,在大数据量时poi要快于jxl。但差距都不明显。
- 大小: 56.1 KB
分享到:
相关推荐
poi是一个Java api组件,用于处理execel和doc文件 jxl可以读取,创建,更新Excel文件,使用该api非windows系统也可以通过纯java来处理Excel。
该代码详细介绍了POI和JXL两种方式导出EXCEL文件,与大家一起分享
Excel生成导出JXL和POI两种方式小demo
java项目 实现读取本地Excel文件,这是两种jar包 分别是poi和jxl
Java操作Excel表的两种方式,具体教程可以网上查看,这里只有jar包
java读写excel的两种开发方式所需jar 包
excel读取主流是poi和jxl,两种方式功能都很全,但是缺乏比较零散。这里CommonUtil类中包含了poi、jxl读取excel的封装类,读取出来后变为list,需要的jar包一起带上了。还附带了excel流的方式下载,以及request内容...
java利用jxl解析Excel,和 poi解析Excel
目前处理Excel的开源javaAPI主要有两种,一是Jxl(Java Excel API),Jxl只支持Excel2003以下的版本。另外一种是Apache的Jakarta POI,相比于Jxl,POI对微软办公文档的支持更加强大,但是它使用复杂,上手慢。POI可支持...
JAVA 处理 Excel 的两种常见方法 —— JXL(Workbook)和 POI(HSSFWorkbook、XSSFWorkbook)
java读写excel 有jxl和poi两种方法。
实现Excel的上传和下载 存在两种格式的上传和下载,分别对应POI和JXL 可以实现根据Excel模板导出,自定义Excel样式导入 形成自定义的Excel报表等功能。项目为Maven项目,JDK采用1.8
1. java 通过 poi 和 jxl 两种方式 读写 excell文件示例 2. 工程中 包括 源码 示例 和 依赖的 jar 3. 工程下载后 倒入就能用,并且有详细的 注释 和 应注意的问题 非常不错,欢迎下载使用。