Java Workbook
和 XSSWorkbook
是 Apache POI 库中用于处理 Excel 文件的两个主要类。Apache POI 是一个流行的 Java API,用于读写 Microsoft Office 格式的文档,特别是 Excel(.xls 和 .xlsx)文件。下面将通过一些示例来展示如何使用这两个类处理 Excel 文件。
使用 HSSFWorkbook (处理 .xls 文件)
HSSFWorkbook
类用于处理旧版本的 Excel 文件(即 .xls 文件)。下面是一个简单的例子,演示如何创建一个新的 Excel 文件,并向其中添加数据。
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
public class HSSFExample {
public static void main(String[] args) {
// 创建一个工作簿
Workbook workbook = new HSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("示例表");
// 创建一行
Row row = sheet.createRow(0);
// 创建单元格并设置值
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
// 将工作簿写入文件
try (FileOutputStream fileOut = new FileOutputStream("workbook.xls")) {
workbook.write(fileOut);
} catch (Exception e) {
e.printStackTrace();
}
}
}
使用 XSSWorkbook (处理 .xlsx 文件)
XSSWorkbook
类用于处理新版的 Excel 文件(即 .xlsx 文件)。下面是一个类似的例子,但这次我们将创建一个 .xlsx 文件。
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
public class XSSFExample {
public static void main(String[] args) {
// 创建一个工作簿
Workbook workbook = new XSSFWorkbook();
// 创建一个工作表
Sheet sheet = workbook.createSheet("示例表");
// 创建一行
Row row = sheet.createRow(0);
// 创建单元格并设置值
Cell cell = row.createCell(0);
cell.setCellValue("Hello, World!");
// 将工作簿写入文件
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
workbook.write(fileOut);
} catch (Exception e) {
e.printStackTrace();
}
}
}
读取 Excel 文件
无论是 .xls
还是 .xlsx
文件,读取 Excel 文件的基本方法是相似的。这里提供一个通用的例子,展示如何读取一个 Excel 文件的内容。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadExcelExample {
public static void main(String[] args) {
try (FileInputStream fis = new FileInputStream(new File("workbook.xlsx"));
Workbook workbook = new XSSFWorkbook(fis)) {
// 获取第一个工作表
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;
default:
// 其他类型的单元格处理
}
}
System.out.println(); // 换行
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
这些示例展示了如何使用 Apache POI 库的基本功能来处理 Excel 文件。根据实际需求,可以扩展这些示例,实现更复杂的功能,比如格式化单元格、添加图表等。
标签:文件,xlsx,Excel,cell,workbook,import,Workbook,XSSWorkbook From: https://blog.51cto.com/u_16694558/12059063