一个项目要求读Excel表格,于是Google、baidu查了查,看到不少关于Java读Excel到文章,讲解的比较详细。今天开博,第一篇文章,对Java读Excel进行一下总结,内容全都是来自网络,我只是做了一些修改、总结。经过挑选决定采用poi和fastexcel。
1、poi读取Excel (poi-3.2-FINAL-20081019)
// 构造 HSSFWorkbook 对象,strPath 传入文件路径
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(strPath));
// 读取文件中的第一张表格
HSSFSheet sheet = wb.getSheetAt(0);
// 定义 row、cell
HSSFRow row;
// HSSFCell cell;
String cell;
// 循环输出表格中的内容
for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
row = sheet.getRow(i);
for (int j = row.getFirstCellNum(); j < row.getPhysicalNumberOfCells(); j++) {
// 推荐通过 row.getCell(j).toString() 获取单元格内容,
cell = row.getCell(j).toString();
System.out.print(cell + "\t");
}
System.out.println("");
}
2、fastexcel读Excel (fastexcel-0.2-2009-01-16)
// 打开表格文件,strPath设置文件所在路径
Workbook workBook = FastExcel.createReadableWorkbook(new File(strPath));
workBook.open();
// 基于事件的读取
// workBook.getSheet(0, new SheetReadAdapter() {
// public void onCell(int row, int col, String content) {
// System.out.println(row + "," + col + "," + content);
// }
// });
// 基本的读取
// 操作第一张表格
Sheet s = workBook.getSheet(0);
// 设置 row、cell
String[] row;
String cell;
// 循环输出表格内容
for (int i = s.getFirstRow(); i < s.getLastRow(); i++) {
row = s.getRow(i);
for (int j = s.getFirstColumn(); j < s.getLastColumn(); j++) {
cell = s.getCell(i, j);
System.out.print(cell + "\t");
}
System.out.println("");
}
// 关闭连接
workBook.close();
3、简单测试读取速度 (Intel(R) Pentium(R) Dual T2330 @ 1.60GHz 内存:2G)
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss:SS");
TimeZone t = sdf.getTimeZone();
t.setRawOffset(0);
sdf.setTimeZone(t);
Long startTime = System.currentTimeMillis();
// 检测代码
String fileName = "F:\\我的文档\\专业实训\\07信管缴费代码.xls";
try {
// 性能更好,读取更快
FastexcelReadExcel fre = new FastexcelReadExcel();
fre.testFastExcel(fileName);
} catch (Exception ex) {
Logger.getLogger(FastexcelReadExcel.class.getName()).log(Level.SEVERE, null, ex);
}
Long endTime = System.currentTimeMillis();
System.out.println("用时:" + sdf.format(new Date(endTime - startTime)));
startTime = System.currentTimeMillis();
// 检测代码
try {
PoiReadExcel er = new PoiReadExcel();
er.testPoiExcel(fileName);
} catch (Exception ex) {
Logger.getLogger(FastexcelReadExcel.class.getName()).log(Level.SEVERE, null, ex);
}
endTime = System.currentTimeMillis();
System.out.println("用时:" + sdf.format(new Date(endTime - startTime)));
fastexcel 读取用时:656ms,poi 读取用时:735ms。
Excel 表格 为 80行8列。
总结:poi是非常强大的,可以完成设置各种格式,但是相对的也可能更慢一些(猜测),fastexcel则更适合读取数据,不需要控制太多的格式,只是简单的读取。
两者的具体实现没有过深入的了解过。
对于读取Excel内容,导入数据库中,优先选用fasteexcel。
对于要求更高的格式控制,优先选用poi。
另外还有JXL等其他操作Excel的开源项目,没有使用过,感觉有以上两者已经足够。
对于office2007格式还没有研究,等待……
分享到:
相关推荐
本篇文章将深入探讨如何使用Java实现“边读边写”Excel的机制,特别是结合数据库中的数据List填充到Excel指定位置,并讨论替换字符串的相关操作。 首先,Java中读写Excel文件主要依赖于第三方库,如Apache POI和...
本篇文章将深入探讨如何使用jxl.jar库来实现Java操作Excel。 首先,jxl是一个广泛使用的Java库,它允许开发者读写Microsoft Excel文件。它的主要优势在于简单易用且功能丰富,支持多种Excel格式,包括老版本的.BIFF...
总的来说,`jxl`库为Java程序员提供了一套完整的工具,使得在Java中操作Excel文件变得简单高效。然而,需要注意的是,`jxl`库只支持Excel的旧版格式(.xls),对于.xlsx(Excel 2007及以后版本)格式,推荐使用...
学习使用jxl.jar进行Excel操作是Java开发中的一项实用技能,特别是在数据处理、报表生成和自动化测试等场景。通过深入理解jxl库的API,你可以实现更高级的功能,例如修改单元格内容、创建新的工作表、合并单元格等。...
在Java编程环境中,读取Excel文件是一项常见的任务,特别是在数据处理和分析的场景下。这里我们将探讨如何使用Java实现这一功能,重点是介绍压缩包中的`jxl.jar`库,这是一个用于读写Excel文件的第三方库。 首先,...
本文将深入探讨如何使用Java从Excel文件中读取数据,主要以标题"java从excel读数例子"为指导,结合描述中的"java对excel表格的读写",我们将围绕Java对Excel的读取操作进行详细的讲解。 Java提供了多种库来处理...
在Java编程环境中,读取Excel数据是一项常见的任务,特别是在数据处理、数据分析或系统集成的场景中。本示例中,我们关注的是如何使用Java来读取Excel表格中的数据,并将其保存,这通常涉及到Apache POI库的应用。...
在Java编程中,导入Excel文件是一项常见的任务,特别是在数据处理和数据分析领域。为了支持不同版本的Excel文件以及CSV格式的数据,开发者需要了解并掌握相关的API和技术。以下将详细讲解如何在Java中处理`xls`、`...
在Java编程环境中,处理...以上是Java操作Excel的基本步骤和关键概念。实际应用中,你可能需要处理更复杂的情况,如样式设置、公式计算、图表生成等。理解这些基本操作将使你能够根据需求构建更复杂的Excel处理功能。
### EXCEL文件导入:JAVA读取Excel #### POI简介及使用详解 ##### 一、引言 在软件开发过程中,特别是在企业级应用中,经常需要处理Excel文件。Java作为一种广泛应用的企业级编程语言,提供了多种工具和技术来...
本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...
在Java编程中,操作Excel是一项常见的任务,尤其是在数据处理、报表生成或数据分析等场景下。本文将深入探讨如何使用Java来读取、修改和创建Excel文件,主要关注于Apache POI库的应用,这是一个广泛使用的开源Java ...
对于Excel操作,Java POI提供了HSSF(对应.xls文件)和XSSF(对应.xlsx文件)两个组件,分别用于处理不同版本的Excel文件。 ### 二、显示货币格式 在使用Java POI生成Excel时,为了使数据更易读和专业,我们经常...
EasyExcel提供了丰富的API接口,可以方便地实现Excel的读、写操作。在读取Excel时,用户可以通过自定义监听器来处理数据,而不需要预先定义实体类,这使得处理动态表头或者不确定列数的场景变得非常灵活。在写入...
本主题将详细探讨如何利用Java技术,特别是与JSP(JavaServer Pages)结合,来实现将数据以Excel文件格式在网页上显示,以便用户可以方便地查看、打印或者进一步操作。 首先,我们需要了解Java中处理Excel文件的库...
通过阅读"POI操作Excel -POI提供API给Java程序对Microsoft Office格式档案读和写的功能.url",你可以深入理解Apache POI在Excel操作中的具体用法和示例,进一步提升你的编程能力。在实际项目中,结合这些资源和库,...
java poi excel操作demo 支持xls和xlsx两个格式的excel文件的读写操作。读取模式包含用户模式和事件驱动模式 ,事件驱动模式能够支持大数据量的读操作,写操作xlsx使用sxssf方式支持大数据量的写入操作。 demo 基于...
### JAVA读取Excel数据知识点详解 #### 一、引言 在日常开发工作中,经常会遇到需要处理Excel文件的情况。Java提供了多种方式来读取Excel文件,包括使用Apache POI库等第三方工具。本文将详细介绍如何使用Java语言...
Apache POI是一个开源项目,它提供了API来操作Microsoft Office格式的文件,包括Excel(.xls和.xlsx)。 1. **安装依赖** 在Java项目中,你需要添加Apache POI库。如果使用Maven,可以在`pom.xml`文件中添加以下...
附件是java poi 3.17的lib库及其依赖库,全部下载引用后,可以进行excel的读写操作,无需引用其他lib库。poi-3.17适用于jdk1.7。 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft ...