Apache POI是一个用于读写Microsoft Office格式文件的Java库。它支持读写Microsoft Word、Excel和PowerPoint格式文件,并具有丰富的功能和格式化选项。本篇博客将介绍如何使用Apache POI进行数据读写和格式化。
数据读取
Apache POI提供了丰富的API来读取Microsoft Office格式文件中的数据。对于Excel文件,可以使用org.apache.poi.ss.usermodel
包中的类来读取数据。
import org.apache.poi.ss.usermodel.*;
public class ExcelReader {
public static void main(String[] args) throws Exception {
Workbook workbook = WorkbookFactory.create(new File("data.xlsx"));
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");
}
}
System.out.println();
}
workbook.close();
}
}
以上代码会读取名为"data.xlsx"的Excel文件的第一个Sheet中的数据,并将其打印到控制台上。
数据写入
除了读取数据,Apache POI还提供了API来进行数据写入。可以使用org.apache.poi.ss.usermodel
包中的类来创建和写入Excel文件。
import org.apache.poi.ss.usermodel.*;
public class ExcelWriter {
public static void main(String[] args) throws Exception {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row headerRow = sheet.createRow(0);
Cell headerCell = headerRow.createCell(0);
headerCell.setCellValue("Name");
Row dataRow = sheet.createRow(1);
Cell dataCell = dataRow.createCell(0);
dataCell.setCellValue("John Smith");
FileOutputStream outputStream = new FileOutputStream("output.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
以上代码会创建一个新的Excel文件,包含一个名为"Sheet1"的Sheet,其中第一行为标题行,第二行为数据行。将其保存为"output.xlsx"。
格式化
在Apache POI中,可以对单元格进行格式化以显示特定的样式和效果。可以使用org.apache.poi.ss.usermodel
包中的类来设置单元格的样式。
import org.apache.poi.ss.usermodel.*;
public class CellFormatting {
public static void main(String[] args) throws Exception {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow(0);
Cell cell = row.createCell(0);
cell.setCellValue("Hello World!");
CellStyle style = workbook.createCellStyle();
Font font = workbook.createFont();
font.setBold(true);
style.setFont(font);
cell.setCellStyle(style);
FileOutputStream outputStream = new FileOutputStream("formatted.xlsx");
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
以上代码会创建一个包含一个单元格的Excel文件,在该单元格中显示"Hello World!"。同时,还应用了一个粗体字体样式来设置单元格的样式,将其保存为"formatted.xlsx"。
总结
Apache POI是一个强大的Java库,用于读写Microsoft Office格式文件。本篇博客介绍了如何使用Apache POI进行数据读写和格式化。希望本篇博客对您有所帮助!
本文来自极简博客,作者:人工智能梦工厂,转载请注明原文链接:Apache POI中的数据读写与格式化