介绍:
应用场景
maven 坐标
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
方法及其作用
创建/写入
//创建Excel文件 并且写入文件内容(在内存中创建)
XSSFWorkbook excel = new XSSFWorkbook();
用XSSFWorkbook()创建的excel表默认没有sheet页 需要手动创建
XSSFSheet sheet = excel.createSheet();//创建一个sheet页
XSSFWorkbook excel = new XSSFWorkbook();//新建excel表
XSSFSheet sheet = excel.createSheet("info");//创建一个sheet页
//输入sheet名字
XSSFRow row = sheet.createRow(1);//创建第二行(从0开始)
row.createCell(1).setCellValue("姓名");//创建单元格也是从0开始 这里表示创建第二个单元格
//在单元格中写入内容
row.createCell(2).setCellValue("年龄");
XSSFRow row1 = sheet.createRow(2);
row1.createCell(1).setCellValue("小李");
row1.createCell(2).setCellValue("18");
通过excel在磁盘创建
//通过输出流将excel写入磁盘
FileOutputStream info = new FileOutputStream(new File("D://info.xlsx"));
excel.write(info);
info.close();
excel.close();//关闭资源
执行之后
读取
//通过输入流获取表格
FileInputStream in = new FileInputStream(new File("D://info.xlsx"));
XSSFWorkbook excel = new XSSFWorkbook(in);//接收表格
XSSFSheet sheet = excel.getSheetAt(0);//通过索引获取sheet页
//XSSFSheet sheet1 = excel.getSheet("sheet");//通过名字获取sheet页
int lastRowNum = sheet.getLastRowNum();//获取表中有内容的 最后一行的行号
for (int i = 1; i <= lastRowNum; i++) {
//已知有内容的最后一行 循环读取sheet页中内容
XSSFRow row = sheet.getRow(i);
XSSFCell cell = row.getCell(1);
XSSFCell cell1 = row.getCell(2);
System.out.println(cell + " " + cell1);
}
in.close();
excel.close();
执行结果 记得关流