1.使用@ExcelField读取:
public R inputExcelSegment(@RequestParam("file") MultipartFile file, HttpServletRequest request) {
String originalFilename = file.getOriginalFilename();
ImportExcel ei = new ImportExcel(file, 1, 0);
Row row = ei.getRow(2);
List<ExcelSegmentDto> list = ei.getDataList(ExcelSegmentDto.class);
}
//因为我只需要一列,所以返回的对象里面只有一列,(也可以多列的)
public class ExcelSegmentDto {
@ExcelField(title = "id", align = ExcelField.Align.CENTER, sort = 1)
private String id;
}
2.使用@ExcelField导出:
public void downloadSegmentInput(@RequestParam(required = false) String params, HttpServletResponse response) throws Exception {
//封装好list数据,ExcelInputSegmentDto里面封装需要导出的数据列,然后set数据导出的样例数据(ExcelField代表导出列)
//此处set两行数据(导出到excel也是两行)
List<ExcelSegmentDto> list = Lists.newArrayList();
ExcelSegmentDto dto2 = new ExcelSegmentDto();
dto2.setId("1234(样例数据)");
list.add(dto2);
ExcelSegmentDto dto3 = new ExcelSegmentDto();
dto3.setId("5678(样例数据)");
list.add(dto3);
(new ExportExcel(”样例数据(Title)“, ExcelInputSegmentDto.class)).setDataList(list).write(response, fileName).dispose();
}
public class ExcelInputSegmentDto{
/**
* 类别名称
*align : 内容靠右
*/
@ExcelField(title = "id", align = ExcelField.Align.RIGHT, sort = 1)
private String id;
}