写Excel
注解
使用注解很简单,只要在对应的实体类上面加上注解即可。
ExcelProperty
用于匹配excel和实体类的匹配,参数如下:
| 名称 | 默认值 | 描述 |
|---|---|---|
| value | 空 | 用于匹配excel中的头,必须全匹配,如果有多行头,会匹配最后一行头 |
| order | Integer.MAX_VALUE | 优先级高于value,会根据order的顺序来匹配实体和excel中数据的顺序 |
| index | -1 | 优先级高于value和order,会根据index直接指定到excel中具体的哪一列 |
| converter | 自动选择 | 指定当前字段用什么转换器,默认会自动选择。写的情况下只要实现com.alibaba.excel.converters.Converter#convertToExcelData(com.alibaba.excel.converters.WriteConverterContext<T>) 方法即可 |
ExcelIgnore
默认所有字段都会和excel去匹配,加了这个注解会忽略该字段
ExcelIgnoreUnannotated
默认不管加不加ExcelProperty的注解的所有字段都会参与读写,加了ExcelIgnoreUnannotated注解以后,不加ExcelProperty注解的字段就不会参与
DateTimeFormat
日期转换,用String去接收excel日期格式的数据会调用这个注解,参数如下:
| 名称 | 默认值 | 描述 |
|---|---|---|
| value | 空 | 参照java.text.SimpleDateFormat书写即可 |
| use1904windowing | 自动选择 | excel中时间是存储1900年起的一个双精度浮点数,但是有时候默认开始日期是1904,所以设置这个值改成默认1904年开始 |
NumberFormat
数字转换,用String去接收excel数字格式的数据会调用这个注解。
| 名称 | 默认值 | 描述 |
|---|---|---|
| value | 空 | 参照java.text.DecimalFormat书写即可 |
| roundingMode | RoundingMode.HALF_UP | 格式化的时候设置舍入模式 |
参数
概念介绍
WriteWorkbook可以理解成一个excelWriteSheet理解成一个excel里面的一个表单WriteTable一个表单里面如果有多个实际用的表格,则可以用WriteTable