### 使用Java POI获取Excel文件中的Sheet、行数与列数 #### 一、引言 在日常工作中,经常需要处理Excel文件,特别是在数据分析、报表生成等场景中。Apache POI是一个非常强大的Java库,它提供了读写Microsoft Office格式文件的功能,包括Excel。本文将详细介绍如何使用Java POI来获取Excel文件中的Sheet数量、每张Sheet的行数和列数。 #### 二、环境搭建 首先确保项目中已经添加了Apache POI库的依赖。对于Maven项目,可以在`pom.xml`文件中添加以下依赖: ```xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>5.2.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.2.2</version> </dependency> ``` #### 三、读取Excel文件 使用Java POI读取Excel文件通常涉及以下几个步骤: 1. 创建`FileInputStream`对象以读取文件。 2. 创建`Workbook`对象以解析Excel文件。 3. 遍历每个Sheet,并获取其相关信息。 #### 四、代码实现 接下来,我们将通过具体的代码示例来展示如何实现这些功能。 ##### 1. 加载Excel文件 ```java import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import java.io.File; import java.io.FileInputStream; import java.io.IOException; public class ExcelReader { public static void main(String[] args) { try (FileInputStream inp = new FileInputStream(new File("E:\\WEIAN.xls"))) { Workbook wb = new HSSFWorkbook(inp); // 适用于.xls格式 // 如果是.xlsx格式,则使用XSSFWorkbook类 Sheet sheet = wb.getSheetAt(2); // 获得第三个工作表 System.out.println("Sheet名称: " + sheet.getSheetName()); // 获取指定行 Row row = sheet.getRow(4); // 获得第五行(行索引从0开始) if (row != null) { Cell cell = row.getCell(3); // 获取第五行的第四个单元格(列索引从0开始) if (cell != null) { cell.setCellValue("测试纳税人名称"); // 给单元格赋值 } } } catch (IOException e) { e.printStackTrace(); } } } ``` ##### 2. 获取Sheet、行数与列数 ```java public class ExcelInfoExtractor { public static void main(String[] args) { try (FileInputStream inp = new FileInputStream(new File("E:\\WEIAN.xls"))) { Workbook wb = new HSSFWorkbook(inp); // 适用于.xls格式 for (int i = 0; i < wb.getNumberOfSheets(); i++) { Sheet sheet = wb.getSheetAt(i); int colNum = sheet.getRow(0).getPhysicalNumberOfCells(); // 获得总列数 int rowNum = sheet.getLastRowNum(); // 获得总行数 System.out.println("Sheet[" + i + "]: " + sheet.getSheetName()); System.out.println("总列数: " + colNum); System.out.println("总行数: " + (rowNum + 1)); // 行数需要加1,因为getLastRowNum()返回的是最后一行的索引 } } catch (IOException e) { e.printStackTrace(); } } } ``` #### 五、注意事项 1. **兼容性问题**:Apache POI支持多种Excel文件格式,但需要注意不同版本之间的兼容性差异。例如,`.xls`和`.xlsx`文件在读写时应分别使用`HSSFWorkbook`和`XSSFWorkbook`。 2. **性能优化**:当处理大量数据时,考虑使用流式API如`XSSFReader`或`SXSSFWorkbook`来提高效率。 3. **异常处理**:在实际应用中,需要对可能出现的各种异常情况进行处理,以确保程序的健壮性和稳定性。 #### 六、总结 通过以上示例代码,我们可以清楚地看到如何使用Java POI库来操作Excel文件,包括读取Sheet、获取行数和列数等。这对于自动化办公和数据分析任务来说是非常有用的技能。希望本文能帮助读者更好地理解和掌握这一技术。


























- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- MATLAB数据处理技术在光学领域屈光度计算中的应用与实现
- 网络营销的策略组合.pptx
- 海康威视嵌入式产品介绍.pptx
- 计算机网络试题及解答(最终).doc
- 高等数学第五节极限运算法则.ppt
- 浅析网络经济对财务管理的影响.doc
- 人工智能的发展历程.pdf
- 宁波大学通信工程专业培养方案及教学计划.doc
- 用matlab绘制logistic模型图.ppt
- 住房城乡建设项目管理办法.pdf
- (源码)基于Arduino的遥控车系统.zip
- 基于MATLAB的均匀与非均匀应变光纤光栅仿真分析系统 精选版
- 网络管理与维护案例教程第5章-网络安全管理.ppt
- 网络语言的特点及对青少年语言运用的影响和规范.doc
- 算法讲稿3动态规划.pptx
- 高中信息技术编制计算机程序解决问题学案.docx


