# 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();
```