整体来说,Excel有.xls.xlsx,那么在POI中这两个也对应两个不同的类,但是类名不同,方法基本都是一致的,因此我这里将只介绍.xls一种。

整体来说,可以分为如下七个步骤:

1.创建Excel文档

  1. HSSFWorkbook workbook = new HSSFWorkbook();

2.设置文档的基本信息,这一步是可选的

  1. //获取文档信息,并配置
  2. DocumentSummaryInformation dsi = workbook.getDocumentSummaryInformation();
  3. //文档类别
  4. dsi.setCategory("员工信息");
  5. //设置文档管理员
  6. dsi.setManager("江南一点雨");
  7. //设置组织机构
  8. dsi.setCompany("XXX集团");
  9. //获取摘要信息并配置
  10. SummaryInformation si = workbook.getSummaryInformation();
  11. //设置文档主题
  12. si.setSubject("员工信息表");
  13. //设置文档标题
  14. si.setTitle("员工信息");
  15. //设置文档作者
  16. si.setAuthor("XXX集团");
  17. //设置文档备注
  18. si.setComments("备注信息暂无");

这些信息将显示在详细信息窗格中:

p294

3.创建一个Excel表单,参数为sheet的名字

  1. HSSFSheet sheet = workbook.createSheet("XXX集团员工信息表");

4.创建一行

  1. HSSFRow headerRow = sheet.createRow(0);

0表示第一行。

5.在第一行中创建第一个单元格,并设置数据

  1. HSSFCell cell0 = headerRow.createCell(0);
  2. cell0.setCellValue("编号");

6.将Excel写到ByteArrayOutputStream中

  1. baos = new ByteArrayOutputStream();
  2. workbook.write(baos);

7.创建ResponseEntity并返回

  1. return new ResponseEntity<byte[]>(baos.toByteArray(), headers, HttpStatus.CREATED);

核心步骤就这七个步骤,当然还有其他设置单元格数据格式、单元格背景、单元格宽度等,大家可以在源码中研究,这里就不赘述了。