How to Read Excel File in Java17 Mar 2025 | 6 分钟阅读 在本节中,我们将学习如何在 Excel 文件中读取数据。 在 Java 中,读取 Excel 文件不像读取 Word 文件那样,因为 Excel 文件中有单元格。JDK 不提供直接读取或写入 Microsoft Excel 或 Word 文档的 API。我们必须依赖第三方库 Apache POI。 什么是 Apache POI?Apache POI (Poor Obfuscation Implementation) 是一个 Java API,用于以 .xls 和 .xlsx 两种格式读取和写入 Microsoft 文档。它包含类和接口。Apache POI 库提供了两种读取 Excel 文件的实现:
Apache POI 中的接口和类接口
类XLS 类
XLSX 类
读取 XLS 文件数据的步骤步骤 1: 在 Eclipse 中创建一个简单的 Java 项目。 步骤 2: 现在,在项目中创建一个 lib 文件夹。 步骤 3: 下载以下 jar 文件并添加到 lib 文件夹中
步骤 4: 设置类路径 右键单击项目 -> Build Path -> Add External JARs -> 选择所有上面的 jar 文件 -> Apply and close。 步骤 5: 现在创建一个名为 ReadExcelFileDemo 的类文件,并在文件中编写以下代码。 步骤 6: 创建一个名为 "student.xls" 的 Excel 文件,并在其中写入一些数据。 ![]() 步骤 7: 保存并运行程序。 读取 Excel 文件(.xls)的示例 输出 Name Age Height Swarit 23.0 5" Puneet 25.0 6'1" Swastik 22.0 5'5" Tejas 12.0 4'9" 读取 XLSX 文件除文件格式外,所有步骤都保持不变。 表: employee.xslx ![]() 读取 Excel 文件(.xlsx)的示例 在此示例中,我们使用 XSSFWorkbook 类。 输出 Employee ID Employee Name Salary Designation Department 1223.0 Harsh 20000.0 Marketing Manager Marketing 3213.0 Vivek 15000.0 Financial Advisor Finance 6542.0 Krishna 21000.0 HR Manager HR 9213.0 Sarika 34000.0 Sales Manager Sales 从 Excel 文件(.xlsx)中读取特定单元格的值表: EmployeeData.xlsx ![]() 示例 在以下示例中,我们读取第 2 行和第 2 列的值。行和列的计数从 0 开始。所以程序返回 "Software Engineer."。 ![]() 输出 Software Engineer 如何在 Java 中读取 Excel 文件选择题1. 在 Java 中,主要使用哪个库来读取 .xls 和 .xlsx 格式的 Excel 文件?
答案:B) 解释: Apache POI 是一个强大的 Java 库,用于处理 Microsoft Office 文档,包括 .xls 和 .xlsx 格式的 Excel 文件。它提供了对读取、写入和操作 Excel 文件全面的支持。 2. 在 Apache POI 中,使用哪个方法从 Excel 文件打开工作簿?
答案:C) 解释: WorkbookFactory.create() 是 Apache POI 中的一个方法,用于从 Excel 文件创建 Workbook 实例。它支持 .xls 和 .xlsx 格式,通过自动检测文件类型并返回相应的 Workbook 实例。 3. 在 Apache POI 中,使用哪个类来读取 Excel 工作表?
答案:B) 解释: Apache POI 中的 Sheet 接口表示工作簿中的 Excel 工作表。您可以使用 Workbook 实例的 getSheetAt(int index) 或 getSheet(String name) 方法来从 Excel 文件检索特定的工作表。 4. 如何使用 Apache POI 迭代工作表中的所有行?
答案:A) 解释: 在 Apache POI 中,我们可以使用 Iterator<ROW> 来迭代工作表中的所有行。通过调用 Sheet 对象的 iterator() 方法来获取迭代器。它允许我们按顺序遍历工作表中的每一行。 5. DataFormatter 类的作用是什么?
答案:C) 解释: Apache POI 中的 DataFormatter 类会创建一个单元格值的格式化字符串表示,就像它在 Excel 中显示的那样。这对于以人类可读的格式显示单元格的内容非常有用,无论单元格的数据类型是什么(数字、日期等)。 下一个主题Java 教程 |
java.nio.charset 的一个内置方法是 maxBytesPerChar()。对于每个输入字符,CharsetEncoder 返回将创建的最大字节数。使用该值可以确定给定输入句子在最坏情况下的输出缓冲区大小...
阅读 2 分钟
Stack Vs Heap Java 在 Java 中,内存管理是一个至关重要的过程。它由 Java 自动管理。JVM 将内存分为两部分:栈内存和堆内存。从 Java 的角度来看,两者都是重要的内存区域,但它们用于不同的……
阅读 3 分钟
在 Java 中,String 是最重要的主题。有很多与 String 相关概念,但字符串池概念是其中之一。Java 中的字符串池概念有点棘手。因此,在本节中,我们将讨论...
阅读 4 分钟
在本节中,我们将学习如何在 Java 中查找蛋糕数。蛋糕数 CKn 表示用 n 个平面切割可以将蛋糕分成最多的块数。薄饼数的三个维度版本是蛋糕数。在...
阅读 6 分钟
在软件开发中,处理日期是一项常见任务,通常涉及处理各种日期格式。在 Java 中,由于世界各地使用的约定和模式不同,检测给定日期字符串的格式可能具有挑战性。然而,Java 提供了几个强大的...
阅读 6 分钟
这是一个原始数据类型。它用于声明变量。它还可以与方法一起用于返回整数类型的值。它可以容纳一个 32 位有符号二进制补码整数。要点:int 包含最小值 -231 和最大值...
阅读 2 分钟
在 Java 中使用下划线(_)作为变量名一直是开发者讨论的话题,这主要是由于其在 Java 语言约定中的演变及其对可读性、遵循约定和最佳实践的影响。以下是关于使用下划线作为变量名的详细探讨……
阅读 3 分钟
在 Java 中,System.out.print() 和 System.out.println() 是 System 类中定义的两个方法,用于将输出发送到控制台。它们的外观和听起来很相似,但在光标移动和输出格式化方面有所不同。Java System.out.print() 方法 System.out.print() 方法打印指定的...
阅读 3 分钟
汉明码是一种计算机网络中的特殊代码,它是一组纠错码。在计算机图形学中,它主要用于检测和纠正数据从发送方到接收方传输过程中发生的错误。在 Java 中,我们可以实现...
阅读 6 分钟
? 在前面的章节中,我们学习了 Apache POI 库。它是一个处理 Microsoft Office 文档的 API。使用 POI 库,我们可以轻松创建 DOC、DOCX、XLS、XLSX、PPT 和 PPTX 文件。如果我们想创建 PDF...
7 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India