1. POI

  1. <dependency>
  2. <groupId>org.apache.poi</groupId>
  3. <artifactId>poi</artifactId>
  4. <version>4.0.1</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.apache.poi</groupId>
  8. <artifactId>poi-ooxml</artifactId>
  9. <version>4.0.1</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>org.apache.poi</groupId>
  13. <artifactId>poi-ooxml-schemas</artifactId>
  14. <version>4.0.1</version>
  15. </dependency>

Ejava操控xcel

JXL: 支持xls文件操作

POI: 支持xls与xlsx文件操作

  1. //获取对应的excel文件 工作簿文件
  2. XSSFWorkbook wb =new XSSFWorkbook();
  3. //创建工资表
  4. XSSFSheet sheet = wb.createSheet();//创建一个空子表
  5. wb.createSheet("s1"); //创建一个指定子表
  6. XSSFRow row = sheet.createRow(1);//创建工作表的行对象 索引从0开始 返回一个行对象
  7. XSSFCell cell = row.createCell(1); //使用行对象创建列对象 索引从0开始 返回单元格对象
  8. cell.setCellValue("test"); //单元格对象set值
  9. //获取单元 类型要对应
  10. String stringCellValue = cell.getStringCellValue();
  11. System.out.println(stringCellValue);
  12. //保存为文件
  13. File file =new File("test.xlsx");
  14. OutputStream os =new FileOutputStream(file);
  15. wb.write(os);
  16. wb.close();
  17. os.close();
  • 获取execel文件

      1. //留空或者文件不存在则自动创建新文件
      2. XSSFWorkbook wb =new XSSFWorkbook("test.xlsx");
  • 创建工作表

      1. XSSFSheet sheet = wb.createSheet() //可指定名称
  • 获取行对象 索引从0开始

      1. XSSFRow row = sheet.createRow(0);
  • 获取列(单元格)对象 索引从0开始

      1. XSSFCell cell = row.createCell(0);
  • 设置单元内容

      1. cell.setCellValue("test"); //单元格对象set值
  • 获取单元格内容 内容类型要与方法一致

      1. String stringCellValue = cell.getStringCellValue();
  • 保存为文件

      1. File file =new File("test.xlsx");
      2. OutputStream os =new FileOutputStream(file);
      3. wb.write(os);
  • 关闭 close()方法

  • 合并单元格 指定某个表的行列

      1. sheet.addMergedRegion(new CellRangeAddress(1,1,1,12));
  • 设置样式

    • ```java XSSFCellStyle cellStyle = wb.createCellStyle(); //创建样式对象 cellStyle.setAlignment(HorizontalAlignment.CENTER); //水平对齐 cellStyle.setVerticalAlignment(VerticalAlignment.CENTER); //垂直对齐

cell_1.setCellStyle(cellStyle);

  1. -
  2. ```java
  3. cs_field.setBorderTop(BorderStyle.THIN); //设置上边框
  4. cs_field.setBorderBottom(BorderStyle.THIN); //下边框
  5. cs_field.setBorderLeft(BorderStyle.THIN); //左边框
  6. cs_field.setBorderRight(BorderStyle.THIN); //右边框