在Java编程中,处理Excel文件是一个常见的需求。XLS文件是Microsoft Excel 97-2003版本使用的文件格式。虽然现在更多使用的是XLSX格式,但了解如何解析XLS文件仍然很有用。下面是一些掌握Java解析XLS文件的小技巧,帮助您轻松提取表格数据。
使用Apache POI库
Apache POI是一个开源的Java库,用于处理Microsoft Office格式的文件。它支持读取和写入Excel、Word和PowerPoint文件。以下是使用Apache POI库解析XLS文件的步骤:
1. 添加依赖
在项目的pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.2</version>
</dependency>
2. 读取XLS文件
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;
import java.io.IOException;
public class ExcelReader {
public static void main(String[] args) throws IOException {
FileInputStream file = new FileInputStream("example.xls");
Workbook workbook = new HSSFWorkbook(file);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
switch (cell.getCellType()) {
case STRING:
System.out.print(cell.getStringCellValue() + "\t");
break;
case NUMERIC:
System.out.print(cell.getNumericCellValue() + "\t");
break;
case BOOLEAN:
System.out.print(cell.getBooleanCellValue() + "\t");
break;
default:
System.out.print(" " + "\t");
break;
}
}
System.out.println();
}
file.close();
}
}
这段代码读取了名为example.xls的XLS文件,并遍历了第一张工作表的所有单元格,打印出它们的值。
使用JExcelAPI库
JExcelAPI是另一个开源的Java库,用于处理Excel文件。以下是使用JExcelAPI库解析XLS文件的步骤:
1. 添加依赖
在项目的pom.xml文件中添加以下依赖:
<dependency>
<groupId>com.jgoodies</groupId>
<artifactId>jexcelapi</artifactId>
<version>2.6.12</version>
</dependency>
2. 读取XLS文件
import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.read.biff.BiffException;
import java.io.File;
import java.io.IOException;
public class ExcelReader {
public static void main(String[] args) throws IOException, BiffException {
WorkbookSettings settings = new WorkbookSettings();
Workbook workbook = Workbook.getWorkbook(new File("example.xls"), settings);
Sheet sheet = workbook.getSheet(0);
for (int row = 0; row < sheet.getRows(); row++) {
for (int col = 0; col < sheet.getColumns(); col++) {
System.out.print(sheet.getCell(col, row).getContents() + "\t");
}
System.out.println();
}
workbook.close();
}
}
这段代码读取了名为example.xls的XLS文件,并遍历了第一张工作表的所有单元格,打印出它们的值。
总结
以上是使用Java解析XLS文件的两个常用库:Apache POI和JExcelAPI。这两个库都提供了丰富的API来处理Excel文件,可以帮助您轻松提取表格数据。在实际开发中,您可以根据项目的需求选择合适的库进行操作。
