java基于poi的excel表格处理(自定义注解、针对List与enum进行处理)
2017-09-09 15:55
459 查看
Java基于poi的excel表格处理
背景:
由于网上太少有方便的工具来操作了,所以手动造了个轮子…
例子:
说明:
在字段上添加@ExcelInfo注解,其中row为“行数-1”,col为“列数-1”。
如需进行特殊转换,使用enumclass = EnumXXXX.class,EnumXXXX需实现ExcelInfoEnumI接口
如使用List进行映射参数,则可指定endMode,即将某行,某列或者行列方式圈选进List中
尽量使用String,避免类型转换出大bug
结果如下:
{A1=’单元格’, A2=111.0, A3=’111.0’, A4=Fri Sep 08 21:41:22 EDT 2017, A5=’1.11’, A6=’1’, A7=’null’, E9_F11=[9.0, 10.0, 10.0, 11.0]}鄙人不才,如有些许边界性的bug未能给予正确处理还请告知
相关代码
@Documented @Target(ElementType.FIELD) @Inherited @Retention(RetentionPolicy.RUNTIME) public @interface ExcelInfo { int row() default 0; int col() default 0; int rowEnd() default Integer.MAX_VALUE; int colEnd() default Integer.MAX_VALUE; EndModeEnum endMode() default EndModeEnum.vertical; boolean required() default false; Class<? extends Enum<? extends ExcelInfoEnumI>> enumclass() default ExcelInfoEnum.class; enum ExcelInfoEnum implements ExcelInfoEnumI { ; @Override public String getKey() { return null; } @Override public String getValue() { return null; } } enum EndModeEnum { vertical(1), across(2), verticalANDacross(3); private int mode; EndModeEnum(int mode) { this.mode = mode; } public int getMode() { return mode; } } }
public interface ExcelInfoEnumI { String getKey(); Object getValue(); }
完整代码 github https://github.com/anniweiya/anniweiya-test/tree/master/excel
相关文章推荐
- Java注解教程:自定义注解示例,利用反射进行解析
- Apache Ant+Junit对Java(Spring MVC(基于注解))工程进行测试(二)
- java基于spring注解AOP的异常处理的方法
- Java注解教程:自定义注解示例,利用反射进行解析
- 自定义注解及利用AOP对方法进行加强处理
- Java注解教程:自定义注解示例,利用反射进行解析
- Java中的对List中元素进行自定义排序
- springAOP进行自定义注解,用于方法的处理
- Java实现操作excel表格(基于poi.jar)
- Mybatis基于注解结合Java编写Sql语句进行CRUD
- Java注解教程:自定义注解示例,利用反射进行解析
- 【Java】对于自定义对象List进行排序
- Java注解教程:自定义注解示例,利用反射进行解析
- java 使用POI框架进行Excel表格的导出
- JAVA使用jxl.jar对excel表格进行操作处理
- 在JAVA中针对LIST进行排序
- Java注解教程:自定义注解示例,利用反射进行解析
- 数据脱敏——基于Java自定义注解实现日志字段脱敏
- Java注解教程:自定义注解示例,利用反射进行解析
- Java 中List数据,自定义对象按指定的属性进行排序