首页系统综合问题几行代码,复杂Excel 导入导出

几行代码,复杂Excel 导入导出

时间2022-11-10 22:30:19发布分享专员分类系统综合问题浏览123

项目中使用:

功能介绍

IMPORT

1、 ExcelHandle核心处理器;

2、 ExcelWorkbookManageexcel所有工作表管理;

3、 ExcelInitConfig配置文件初始化;

4、 AbstractFileParser文件转换类;

alanpoi import有何优势初始化错误 ?

1、 用户不需要额外引入poi等繁琐的jar;

2、 毫秒级解析大文件初始化错误 ,支持一键解析多sheet页签,不需要自己按照一定的格式循环匹配解析所有数据;

3、 不管你的系统多么复杂初始化错误 ,有多少个导入,alanpoi全部支持,而且准确返回你需要的对象,减轻开发者工作量;

4、 目前外界业务越来越复杂初始化错误 ,对各个功能要求也越来越严格,当然导入也不例外,alanpoi支持错误一键回写到excel,对应到每一行;

5、 alanpoi灵活可扩展初始化错误 ,提供了ExcelConsumeInterface接口,可继承它,实现valid、error、end三个方法编写自己的业务;

A. valid: 方法参数返回excel所有数据初始化错误 ,用户可进行自我校验

B. error: 导入错误会回调

C. end: 方法参数返回校验成功的数据初始化错误 ,valid校验失败的数据不会返回,用户可以自己操作持久化或者其他业务

怎么使用alanpoi实现导入

简单一句话:一配置一继承一调用

一配置

在项目resources目录中新建excel-config.xml文件,cosume中配置自己的消费类路径初始化错误 ,继承ExcelConsumeInterface接口,sheet中的vo是把当前sheet序列化的对象路径,column中当然就是配置vo中的属性了, 其中name可选字段,填了就是按照这个匹配excel列名,不填就是按照offset顺序;导入包含多个sheet就配置多个

几行代码,复杂Excel 导入导出

一继承

consume类继承ExcelConsumeInterface接口初始化错误 ,实现方法

* when error will 调用

* @param excelError

voiderror(ExcelError excelError);

voidvalidData( StringworkbookId, List<ExcelSheetData> sheetDataList, Map<Serializable, Object> excelParam);

voidend(List<ExcelSheetData> sheetDataList, Map<Serializable, Object> excelParam);

一调用

用户调用ExcelExportUtil类的customImportData即可初始化错误 ,参数excelId就是excel-conifg.xml中配置的id

Export

描叙

能够用一行代码实现绝不用第二行初始化错误 ,如果一行不行,那就再加一行!

模式

注解模式导出

ExcelSheet注解:用于导入类上初始化错误 ,可制定sheet名,列头的颜色、字体、高度、宽度

ExcelColum注解: 用于导入类的属性上初始化错误 ,可指定列头的名称,单元格的样式

DateFormat注解: 用于导入类的属性上, 可以按照指定格式输出到excel,默认"yyyy/MM/dd"

NumFormat注解: 用于导入类的属性上初始化错误 ,可以按照指定格式输出到excel,默认"00.00"

样例:

@ExcelSheet(name = "测试", backColor = AlanColors.GREEN, font = "宋体", fontSize = 25) @DatapublicclassExportVO{ @ExcelColumn(name = "名称", width = 32, link = " ${url}" ) privateString name;

@ExcelColumn(name = "值") privateString value;

@ExcelColumn(name = "金额") @NumFormat(value = "0000.00##") privateBigDecimal amount;

@ExcelColumn(name = "时间格式化") @DateFormat(value = "yyyy-MM-dd hh:mm:ss") privateDate dateTime;

@DateFormat@ExcelColumn(name = "日期格式化") privatejava.sql.Date date; @ExcelColumn(isExist = false)privateString url; }

使用

方式一. 直接导出到浏览器

ExcelExportUtil.export(Colletion <?>, Class, );

方式二. 调用getWorkbook获取工作表,自行处理workbook

ExcelExportUtil.getWorkbook( CollectionsingleSheetData, Classc)

高级使用

示例一:导出指定列(动态导出列)

List<ExportVO> list= newArrayList<>; for(int i = 0; i < 500; i++) { ExportVO exportVO = newExportVO; exportVO.setName( "name"+ i); exportVO.setValue( newBigDecimal( 123.11+ i * 0.09)); exportVO.setAmount( newBigDecimal( 6666.666+ i * 10)); exportVO.setDate( newDate( 132324343+ i * 100)); exportVO.setDateTime( newjava.util.Date); list.add(exportVO); }List<String> colList = newArrayList<>; //按照顺序仅导出add的列colList.add( "name"); colList.add( "value"); //调用获取workbook对象;也可以直接调用exportSpecifyCol方法导出到浏览器Workbook workbook = ExcelExportUtil.getWorkbookSpecifyCol( list, ExportVO.class, colList);

示例二:多sheet页签导出

List<ExportVO> list= newArrayList<>; List<Export2VO> list2 = newArrayList<>; for( inti = 0; i < 500; i++) { ExportVO exportVO = newExportVO; exportVO.setName( "name"+ i); exportVO.setValue( newBigDecimal( 123.11+ i * 0.09)); exportVO.setAmount( newBigDecimal( 6666.666+ i * 10)); exportVO.setDate( newDate( 132324343+ i * 100)); exportVO.setDateTime( newjava.util.Date); list.add(exportVO); Export2VO export2VO = newExport2VO; export2VO.setName( "name"+ i); export2VO.setValue( "value"+ i); export2VO.setAmount( newBigDecimal( 6666.666+ i * 10)); export2VO.setDate( newDate( 132324343+ i * 100)); export2VO.setDateTime( newjava.util.Date); list2.add(export2VO);}Map<Class<?>, Collection<?>> map= newHashMap<>; map.put(ExportVO.class, list); map.put(Export2VO.class, list2); //调用获取workbook对象;也可以直接调用exportByMultiSheet方法导出到浏览器Workbook workbook = ExcelExportUtil.getWorkbookByMultiSheet( map);

代码已经开源初始化错误 ,地址:

Alan_0310

爱资源吧版权声明:以上文中内容来自网络,如有侵权请联系删除,谢谢。

ExcelExcel初始化错误
Rust 1.65.0稳定版发布,泛型关联类型(GATs)正式稳定 老白菜u盘重装系统