Apache POI 遍历Excel:工作薄 > 工作表 > 数据行 > 单元格

import org.apache.poi.ss.usermodel.*;
import org.junit.jupiter.api.Test;
import java.io.FileInputStream;
import java.util.Iterator;

public class ApachePOITest {
    private String path = "E:\测试数据表.xlsx";

    @Test
    public void createWorkbook() throws Exception {
        System.out.println(path);
        
        // 通过【path】文件路径拿到【Workbook】工作薄(会自动判断Excel版本)
        Workbook workbook = WorkbookFactory.create(new FileInputStream(path));
        
        // 取出【Sheet 工作表】迭代器
        Iterator sheetIterator = workbook.sheetIterator();
        // 遍历【Sheet 工作表】
        while (sheetIterator.hasNext()) {       
            Sheet sheet = sheetIterator.next();
            // 取出【Row 数据行】迭代器
            Iterator rowIterator = sheet.rowIterator();
            // 遍历【数据行】
            while(rowIterator.hasNext()) {
                Row row = rowIterator.next();
                // 取出【Cell 单元格】迭代器
                Iterator cellIterator = row.cellIterator();
                // 遍历【单元格】
                while (cellIterator.hasNext()) {
                    Cell cell = cellIterator.next();
                    // 取出单元格内容并打印
                    System.out.print(getCellValue(cell) + ";		");
                }
                System.out.println();
            }
        }
    }

    /**
     * 按类型获取单元格值的字符串形式
     * @param cell
     * @return
     */
    private String getCellValue(Cell cell) {
        switch (cell.getCellType()) {
            case BLANK:
                return "空单元格:";
            case FORMULA:
                return "公式:" + cell.getCellFormula();
            case NUMERIC:
                return "数字:" + cell.getNumericCellValue();
            case STRING:
                return "字符串:" + cell.getStringCellValue();
            case BOOLEAN:
                return "布尔值:" + cell.getBooleanCellValue();
            case ERROR:
                return "错误值:" + cell.getErrorCellValue();
            default:
                return "未知类型:" + cell.getCellType();
        }
    }
}
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章