温馨提示:这篇文章已超过287天没有更新,请注意相关的内容是否还可用!
Java中可以使用Apache POI库来读取和写入Excel文件。Apache POI提供了丰富的API,可以实现对Excel文件的操作。
要读取Excel文件,首先需要创建一个`Workbook`对象,然后根据需要选择读取的Sheet。可以通过`Sheet`对象的`getRow()`方法获取行,再通过`Row`对象的`getCell()`方法获取单元格的值。
下面是一个示例代码,演示如何读取Excel文件中的数据:
import org.apache.poi.ss.usermodel.*;
public class ExcelReader {
public static void main(String[] args) {
try {
Workbook workbook = WorkbookFactory.create(new File("example.xlsx"));
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
for (Cell cell : row) {
CellType cellType = cell.getCellType();
if (cellType == CellType.STRING) {
System.out.print(cell.getStringCellValue() + "\t");
} else if (cellType == CellType.NUMERIC) {
System.out.print(cell.getNumericCellValue() + "\t");
} else if (cellType == CellType.BOOLEAN) {
System.out.print(cell.getBooleanCellValue() + "\t");
}
}
System.out.println();
}
workbook.close();
} catch (IOException | InvalidFormatException e) {
e.printStackTrace();
}
}
}
要写入Excel文件,同样需要创建一个`Workbook`对象,然后创建一个Sheet,并在Sheet中创建行和单元格,最后将数据写入单元格。
下面是一个示例代码,演示如何写入数据到Excel文件:
import org.apache.poi.ss.usermodel.*;
public class ExcelWriter {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Object[][] data = {
{"Name", "Age", "Gender"},
{"John Doe", 30, "Male"},
{"Jane Smith", 25, "Female"},
{"Bob Johnson", 35, "Male"}
};
int rowNum = 0;
for (Object[] rowData : data) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (Object field : rowData) {
Cell cell = row.createCell(colNum++);
if (field instanceof String) {
cell.setCellValue((String) field);
} else if (field instanceof Integer) {
cell.setCellValue((Integer) field);
}
}
}
try (FileOutputStream outputStream = new FileOutputStream("example.xlsx")) {
workbook.write(outputStream);
workbook.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上是Java中使用Apache POI库进行Excel读取和写入的示例代码。通过创建Workbook对象,选择Sheet,然后使用Row和Cell来操作Excel文件,可以实现对Excel文件的读取和写入。