用Java读取Excel文件
本文介绍了在 Java 程序中读取 Excel 文件的必要信息。 使用什么软件? 要遵循哪些步骤,最后但并非最不重要的一点是如何应用库以便用户可以读取 Excel 文件。 那么,让我们开始吧。
用 Java 读取 Excel 文件
在 Java 中,读取 Excel 文件并不像其他文件格式(例如 Microsoft Word)那么容易。 不过,原因很容易理解,因为 Excel 工作表包含单元格。
JDK(Java Development Kit)不允许用户处理Microsoft Excel和Microsoft Word等文件。 此外,它没有向用户提供所需的API,因此我们别无选择,只能依赖第三方库来完成我们的任务。
要使用 Java 读取 excel 文件,我们必须了解 APACHE POI 库,因为它可以适用于 .xls 和 .xlsx 形式。
APACHE POI 库概述
该库,APACHE POI,也称为Poor Obfuscation Implement,为用户提供了两种实现。 一种是HSSF,另一种是XSSF。
- HSSF - HSSF,可怕的电子表格格式,实现表示用户拥有适用于早期版本的 Microsoft Excel(更具体地说是 Excel 2003 及更早版本)的 API。
- XSSF - XSSF,XML 电子表格格式,实现表示用户拥有适用于更高版本的 Microsoft Excel 的 API。 在本例中,它适用于 Excel 2007+ 版本。 我们还可以使用此实现来处理 .xlsx 格式。
让我们研究一下它的接口和类,以进一步了解它的工作。
接口和类
请注意,下面提到的所有接口都适用于 HSSF 和 XSSF。
- 工作簿 - 工作簿是代表 Excel 工作簿的界面。 它有两个类:HSSFWorkbook 和 XSSFWorkbook。
-
工作表 - 众所周知,工作簿的中心结构称为工作表。 因此,工作表是代表 Excel 工作表的界面。
它是 java.lang.Iterable 库的扩展。 此接口的两个类是 HSSFSheet 和 XSSFSheet。
- row - 它是一个表示 Excel 工作表行的接口。 该接口也是 java.lang.Iterable 库的扩展。 它有两个类:HSSFRow 和 XSSFRow。
- cell - 它是一个表示 Excel 工作表行中的单元格的界面。 它还具有两个类,称为 HSSFCell 和 XSSFCell。
既然我们知道 APACHE POI 库包含什么以及我们可以使用哪些接口和类,那么让我们研究一下读取 Excel 文件的步骤。
用 Java 读取 Excel 文件的步骤
这些步骤很容易遵循。
-
创建lib文件夹
在 Java 项目中创建一个名为 lib 的文件夹,用户将使用该文件夹打开并读取 Excel 文件。
-
下载jar文件
此步骤要求用户在上一步创建的 lib 文件夹中下载一些 jar 文件。 您需要下载 commons-collections4-4.1.jar、poi-3.17.jar、poi-ooxml-3.17.jar、poi-ooxml-schemas-3.17.jar 和 xmlbeans-2.6.0.jar
-
创建添加jar文件的路径
在此步骤中,我们必须创建路径来添加我们在上一步中下载的 jar 文件。 为此,右键单击我们在步骤 1 中创建的 Java 项目。
然后我们将通过单击构建路径选项来构建 jar 文件的路径。 最后,添加外部“jar”文件后,我们将单击“应用”并关闭。
-
创建一个 Java 类
在这一步中创建一个Java类文件,然后我们可以调用我们想要的excel文件来读取数据。 下面是读取 Excel 文件的类文件的示例。
本示例中将使用 XSSF,因为它使用 Excel 2007+ 版本。
import java.io.File; import java.util.Iterator; import java.io.FileInputStream; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Cell; public class Example{ public static void main(String[] args){ try { File ExcelFile = new File("D:\\your_filename.xlsx"); //obtaining bytes from the file FileInputStream FileStream = new FileInputStream(ExcelFile); //using the Workbook interface XSSFWorkbook ExcelWorkbook = new XSSFWorkbook(FileStream); //using the sheet class to get the object XSSFSheet ExcelSheet = ExcelWorkbook.getSheetAt(0); //iterating over excel file, rows. Iterator<Row> IterateRows = ExcelSheet.iterator(); while (IterateRows.hasNext()){ Row ExcelRow = IterateRows.next(); //iterating over the column Iterator<Cell> IterateCells = ExcelRow.cellIterator(); while (IterateCells.hasNext()){ Cell ExcelCell = IterateCells.next(); switch (ExcelCell.getCellType()){ case Cell.CELL_TYPE_STRING://represents string cell type System.out.print(ExcelCell.getStringCellValue() + "\t"); break; case Cell.CELL_TYPE_NUMERIC://represents number cell type System.out.print(ExcelCell.getNumericCellValue() + "\t"); break; default: } } System.out.println(""); } } catch(Exception exp) { exp.printStackTrace(); } } }
通过这个示例代码,我们可以轻松了解如何使用APACHE POI库。 此示例代码的输出将是用户提供的 Excel 文件数据。
相关文章
用 Java 创建 Excel 文件
发布时间:2023/08/06 浏览次数:141 分类:Java
-
本文介绍如何使用 Java 创建 Excel 文件。用 Java 创建 Excel 文件 Excel 工作表有存储数据的单元格,但用 Java 创建、读取和写入 Excel 文件很棘手。
Java 字母电话号码转换器
发布时间:2023/08/06 浏览次数:68 分类:Java
-
本文介绍如何用 Java 生成字母电话号码转换器。Java 字母电话号码转换器 有时,公司会使用电话号码格式,例如 555-GET-FOOD,这是编写电话号码的标准化流程,以便客户更容易记住。
Java中的并发队列实现
发布时间:2023/08/06 浏览次数:69 分类:Java
-
本文将讨论 Java 中并发队列的一些最有效的实现以及需要利用哪些实现。Java 中的并发队列 首先,我们来讨论所有三个队列。Java ConcurrentLinkedQueue、Java ArrayBlockingQueue、Java LinkedBlockingQueue
在 Java 中使用带有 Jackson 的自定义序列化器
发布时间:2023/08/05 浏览次数:80 分类:Java
-
本文将介绍如何在 Java 中使用 Jackson 的自定义序列化器。 首先,我们来了解一下序列化的概念。Java 中的序列化 Java 中的序列化过程是一种将对象与字节流相互转换的技术。 这不仅可以将对象
Java 中的 Trie 数据结构
发布时间:2023/08/05 浏览次数:111 分类:Java
-
本文介绍了 Java 中的 Trie 数据结构。Java 中的 Trie 数据结构 Trie 词是从单词 Retrieval 中提取出来的,它是一种用于存储字符串集合的排序数据结构。
JAVA_OPTS 环境变量
发布时间:2023/08/05 浏览次数:199 分类:Java
-
JAVA_OPTS 是一个环境变量,用于将自定义设置传递给 Java 虚拟机。 本文介绍了 JAVA_OPTS 的使用。JAVA_OPTS 环境变量 JAVA_OPTS 是一个标准环境变量,用于设置 Java 虚拟机的自定义设置。
在Ubuntu中设置JAVA_HOME环境路径
发布时间:2023/08/05 浏览次数:154 分类:Java
-
本文将介绍如何在Ubuntu中设置Java环境路径。 Ubuntu 将 openjdk6 安装到 /usr/lib/jvm/java-6-openjdk 路径。
在 Ubuntu 中使用 OpenJDK 安装 Java
发布时间:2023/08/05 浏览次数:179 分类:Java
-
在本文中,我们将学习如何在 Ubuntu 20.04 中安装 Java。 它还说明了如何安装默认 Java、特定 Java 版本以及设置环境变量。在 Ubuntu 中使用 OpenJDK 安装 Java 在本文中,我们将使用 OpenJDK 安装 Java。