📜  Apache POI –单元(1)

📅  最后修改于: 2023-12-03 14:59:20.838000             🧑  作者: Mango

Apache POI - 单元

Apache POI 是一个用于操作 Microsoft Office 格式文件(如 Word、Excel、PowerPoint)的开源 Java 库。在 Apache POI 中,单元是 Excel 文件中最基本的组成单位之一。

什么是单元?

单元是 Excel 中的一个方格,用于存储数据。每个单元都由一个行号和列号唯一标识。单元用于存储文本、数字、公式等类型的数据。

Apache POI 中的单元操作

Apache POI 提供了一系列的类和方法来读取、创建、修改和删除 Excel 文件中的单元。

创建单元

要在一个 Excel 文件中创建一个单元,你可以使用 Workbook 类中的 createCell() 方法。下面的代码片段演示了如何创建一个单元,并设置其值为 "Hello World":

import org.apache.poi.ss.usermodel.*;

public class CreateCell {
    public static void main(String[] args) {
        Workbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("Sheet1");
        Row row = sheet.createRow(0);
        Cell cell = row.createCell(0);
        cell.setCellValue("Hello World");
    }
}
读取单元

要读取一个 Excel 文件中的单元,你可以使用 Workbook 类中的 getSheet() 方法来获取工作表,然后使用 Sheet 类中的 getRow() 方法获取行,再用 Row 类中的 getCell() 方法获取单元。下面的代码片段演示了如何读取一个单元的值:

import org.apache.poi.ss.usermodel.*;

public class ReadCell {
    public static void main(String[] args) {
        try (Workbook workbook = WorkbookFactory.create(new FileInputStream("path/to/excel.xlsx"))) {
            Sheet sheet = workbook.getSheet("Sheet1");
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            String value = cell.getStringCellValue();
            System.out.println(value);
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
        }
    }
}
修改单元

要修改一个 Excel 文件中的单元,你可以先读取该单元,然后使用 Cell 类中的相关方法对其进行修改。下面的代码片段演示了如何修改一个单元的值:

import org.apache.poi.ss.usermodel.*;

public class UpdateCell {
    public static void main(String[] args) {
        try (Workbook workbook = WorkbookFactory.create(new FileInputStream("path/to/excel.xlsx"))) {
            Sheet sheet = workbook.getSheet("Sheet1");
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            cell.setCellValue("New Value");
            
            FileOutputStream fileOut = new FileOutputStream("path/to/excel.xlsx");
            workbook.write(fileOut);
            fileOut.close();
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
        }
    }
}
删除单元

要删除一个 Excel 文件中的单元,你可以先读取该单元,然后使用 Row 类中的 removeCell() 方法将其删除。下面的代码片段演示了如何删除一个单元:

import org.apache.poi.ss.usermodel.*;

public class DeleteCell {
    public static void main(String[] args) {
        try (Workbook workbook = WorkbookFactory.create(new FileInputStream("path/to/excel.xlsx"))) {
            Sheet sheet = workbook.getSheet("Sheet1");
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            row.removeCell(cell);
            
            FileOutputStream fileOut = new FileOutputStream("path/to/excel.xlsx");
            workbook.write(fileOut);
            fileOut.close();
        } catch (IOException | InvalidFormatException e) {
            e.printStackTrace();
        }
    }
}
总结

Apache POI 是一个强大的 Java 库,提供了丰富的功能来处理 Excel 文件。通过 Apache POI,我们可以方便地创建、读取、修改和删除 Excel 文件中的单元。希望本文对你有所帮助!