功能介绍

IMPORT

ExcelHandle核心处理器ExcelWorkbookManage excel管理所有工作表初始化ExcelInitConfig概要文件AbstractFileParser文件转换类alanpoi import的优点是什么?

用户不需要引入poi等繁琐的jar毫秒解析大文件。支持一键解析多页选项卡。系统有多复杂,有多少导入,alanpoi都受支持,这可以减少开发人员的工作量。现在外部工作越来越复杂,对各项功能的要求也越来越严格。当然,导入也不例外。alanpoi支持对excel进行单击错误写入,并提供了与每行alanpoi相对应的灵活、可扩展的ExcelConsumeInterface接口。通过继承它,您可以使用三种方法创建业务VALID:VALID、error和end。用户可自我验证的error:导入错误通过回调end:方法参数返回验证成功的数据,不返回valid验证失败的数据,用户可以自己操纵持久性,也可以在其他业务中使用alanpoi进行导入。

在项目中使用:

Dependency

GroupIdcom.alanpoi/groupId

artifact dalanpoi-分析/artifact id

版本1.3.0/版本

/dependency

简单句子:配置和继承调用

一个组成

项目resources目录中的新excel-con文件、在cosume中配置自己的使用者类路径、继承ExcelConsumeInterface接口、电子表格中的VO构成当前序列化电子表格的对象路径、column以及VO的属性。

其中,“名称”选项字段与excel列名匹配,如果未填充,则按offset顺序填充。导入包含多个图纸,并构成多个图纸

?嗯?XML version=' 1.0 ' encoding=' GB 2312 '?

exgname=' excel id ' version=' 1.0 ' file-type=' excel '

excel id=' account ' consume=' com . XXX . finaccountimporthandler '

sheet index=' 0 ' row-start=' 1 ' column-start=' 0 '

VO=' com . XXX . VO . finaccountimportvo '

Column name='公司/供应商编号' offset='1'companyCode/column

Column name='公司/供应商名称' offset='2'companyName/column

column name=' bank account ' offset=' 3 ' bank account/column

column name=' account bank ' offset=' 4 ' bank name/column

/sheet

/excel

/exg

一胜

Consume类继承ExcelConsumeInterface接口并实现方法

/* *

*调用when error will

*

* @param excelError

*/

Void错误(excel error excel error);

/* *

*自订valid data

*

* @param WorkbookId

* @param sheetDataList

*/

Void valid data (string workbook id、listexcelsheetdata sheet datalist、map serializable和object excel param);

/* *

* @param sheetDataList return

success data */ void end(List<ExcelSheetData> sheetDataList, Map<Serializable, Object> excelParam);

一调用

用户调用ExcelExportUtil类的customImportData即可,参数excelId就是excel-coni中配置的id

Export

描叙

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

模式

注解模式导出:

  • ExcelSheet注解: 用于导入类上,可制定sheet名,列头的颜色、字体、高度、宽度
  • ExcelColum注解: 用于导入类的属性上,可指定列头的名称,单元格的样式
  • DateFormat注解: 用于导入类的属性上, 可以按照指定格式输出到excel,默认"yyyy/MM/dd"
  • NumFormat注解: 用于导入类的属性上,可以按照指定格式输出到excel,默认"00.00"

样例:

@ExcelSheet(name = "测试", backColor = AlanColors.GREEN, font = "宋体", fontSize = 25) @Data public class ExportVO { @ExcelColumn(name = "名称", width = 32, link = "${url}") private String name; @ExcelColumn(name = "值") private String value; @ExcelColumn(name = "金额") @NumFormat(value = "0000.00##") private BigDecimal amount; @ExcelColumn(name = "时间格式化") @DateFormat(value = "yyyy-MM-dd hh:mm:ss") private Date dateTime; @DateFormat @ExcelColumn(name = "日期格式化") private java. date; @ExcelColumn(isExist = false) private String url; }

使用

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

ExcelEx(Colletion<?>,Class,HttpServletRequest,HttpServletResponse,fileName);

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

ExcelEx(Collection<?> singleSheetData, Class<?> c)

高级使用

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

List<ExportVO> list = new ArrayList<>(); for (int i = 0; i < 500; i++) { ExportVO exportVO = new ExportVO(); ex("name" + i); ex(new BigDecimal + i * 0.09)); ex(new BigDecimal + i * 10)); ex(new Date(132324343 + i * 100)); exTime(new java.u()); li(exportVO); } List<String> colList = new ArrayList<>(); //按照顺序仅导出add的列 colLi("name"); colLi("value"); //调用获取workbook对象;也可以直接调用exportSpecifyCol方法导出到浏览器 Workbook workbook = ExcelExSpecifyCol(list, Ex, colList);

示例二:多sheet页签导出

List<ExportVO> list = new ArrayList<>(); List<Export2VO> list2 = new ArrayList<>(); for (int i = 0; i < 500; i++) { ExportVO exportVO = new ExportVO(); ex("name" + i); ex(new BigDecimal + i * 0.09)); ex(new BigDecimal + i * 10)); ex(new Date(132324343 + i * 100)); exTime(new java.u()); li(exportVO); Export2VO export2VO = new Export2VO(); ex("name" + i); ex("value" + i); ex(new BigDecimal + i * 10)); ex(new Date(132324343 + i * 100)); exTime(new java.u()); li(export2VO); } Map<Class<?>, Collection<?>> map = new HashMap<>(); map.put(Ex, list); map.pu, list2); //调用获取workbook对象;也可以直接调用exportByMultiSheet方法导出到浏览器 Workbook workbook = ExcelExByMultiSheet(map);

代码已经开源,地址:

原文链接:blog.c



1.《【excel导入怎么导】可以用几行代码执行复杂的Excel导入和导出。这个工具类真的很强大。》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《【excel导入怎么导】可以用几行代码执行复杂的Excel导入和导出。这个工具类真的很强大。》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/2542838.html