# excel **Repository Path**: efeichong/excel ## Basic Information - **Project Name**: excel - **Description**: 基于easyexcel做的二次封装.更便于操作 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-06-21 - **Last Updated**: 2023-12-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Excel导入导出 ##基于easyExcel增加了一点功能,详细使用请查看 https://github.com/alibaba/easyexcel 引入jar包 ```xslt com.efeichong excel ${version} ``` ### 导出: #### bean类 ```$xslt @Setter @Getter @Entity @ExcelPropertyIgnoreUnannotated @ContentRowHeight(60) @ContentFontStyle(italic = BooleanEnum.FALSE,fontName = "Arial") @HeadRowHeight(40) @ContentStyle(locked=BooleanEnum.TRUE,wrapped=BooleanEnum.TRUE) public class Test { @ExcelProperty(value = "用户名",order = 10) private String username; @ExcelProperty(value = "年龄",converter = TestConvert.class) private Integer age; @ExcelDict({"0=男", "1=女"}) @ExcelProperty(value = "性别",convert = ExcelDictConvert.class) private Integer gender; @ExcelProperty(value = "余额",sort = 9) private Float balance; public static class TestConvert implements Converter { @Override public Class supportJavaTypeKey() { return Integer.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public Object convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { return Integer.valueOf(cellData.getStringValue()); } @Override public WriteCellData convertToExcelData(Object value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { return new WriteCellData((String)value); } } } List testList = db.query(); HttpServletResponse response; EasyExcel.write() .file(response) // .file(response.getOutputStream()) .head(Test.class) .sheet() .doWrite(list); ``` ### 导入: #### bean类 ```$xslt @Setter @Getter @Entity @ExcelPropertyIgnoreUnannotated @ContentRowHeight(60) @ContentFontStyle(italic = BooleanEnum.FALSE,fontName = "Arial") @HeadRowHeight(40) @ContentStyle(locked=BooleanEnum.TRUE,wrapped=BooleanEnum.TRUE) public class Test { @ExcelProperty(value = "用户名",order = 10) private String username; @ExcelProperty(value = "年龄",converter = TestConvert.class) private Integer age; @ExcelDict({"0=男", "1=女"}) @ExcelProperty(value = "性别",convert = ExcelDictConvert.class) private Integer gender; @ExcelProperty(value = "余额",sort = 9) private Float balance; public static class TestConvert implements Converter { @Override public Class supportJavaTypeKey() { return Integer.class; } @Override public CellDataTypeEnum supportExcelTypeKey() { return CellDataTypeEnum.STRING; } @Override public Object convertToJavaData(ReadCellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { return Integer.valueOf(cellData.getStringValue()); } @Override public WriteCellData convertToExcelData(Object value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception { return new WriteCellData((String)value); } } } } EasyExcel.read() .file(inputStream) .head(Test.class) .registerReadListener(new ReadListener() { @Override public void invoke(Test test, AnalysisContext context) { testDao.save(TransformUtils.toPo(test, TestPo.class)); } }) .doReadAll(); ```