1、导出Excel
导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.16</version>
</dependency>
<- 需要导出xlsx格式excel时需要此依赖 ->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.16</version>
</dependency>
基本使用流程
public void exportExcel(List<User> userList) throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("sheet表名称");
XSSFRow titleRow = sheet.createRow(0);
String[] titles = {"id","姓名","性别","年龄"};
for (int i = 0; i < titles.length; i++) {
XSSFCell cell = titleRow.createCell(i);
cell.setCellValue(titles[i]);
}
for (int i = 0; i < userList.size(); i++) {
XSSFRow row = sheet.createRow(i + 1);
User user = userList.get(i);
Class<? extends User> userClass = user.getClass();
Field[] fields = userClass .getDeclaredFields();
for (int j = 0; j < fields.length; j++) {
XSSFCell cell = row.createCell(j);
Field field = fields[j];
field.setAccessible(true);
Object value = field.get(brand);
cell.setCellValue(value.toString());
}
}
workbook.write(new FileOutputStream("E://user.xlsx"));
}
创建下拉单元格
private static void createSheet1(XSSFWorkbook workbook) {
XSSFSheet checkboxSheet = workbook.createSheet("sheet_checkbox_cell");
String[] checkboxValus = {"股票", "债券"};
XSSFDataValidationConstraint constraint = new XSSFDataValidationConstraint(checkboxValus);
CellRangeAddressList regions = new CellRangeAddressList(0,800, 0, 12);
DataValidationHelper help = new XSSFDataValidationHelper(checkboxSheet);
DataValidation validation = help.createValidation(constraint, regions);
checkboxSheet .addValidationData(validation);
}
2、导入Excel并解析