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();
}
}
}
|