From bdc85e0445cd5417e77f82fbc9fef380838856c0 Mon Sep 17 00:00:00 2001 From: XenoAmess Date: Tue, 5 Oct 2021 12:10:01 +0800 Subject: [PATCH 01/68] =?UTF-8?q?=E5=89=8A=E5=87=8F=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=9A=84java.lang.Short#shortValue=E8=B0=83?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/excel/metadata/csv/CsvDataFormat.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java b/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java index 42d3f043..9efc7321 100644 --- a/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java +++ b/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java @@ -45,10 +45,11 @@ public class CsvDataFormat implements DataFormat { if (index != null) { return index; } - index = (short)(formatList.size() + BuiltinFormats.MIN_CUSTOM_DATA_FORMAT_INDEX); + short indexPrimitive = (short)(formatList.size() + BuiltinFormats.MIN_CUSTOM_DATA_FORMAT_INDEX); + index = indexPrimitive; formatList.add(format); formatMap.put(format, index); - return index; + return indexPrimitive; } @Override From 0893198574d29bfb0fa2fb47077137373d8c4320 Mon Sep 17 00:00:00 2001 From: XenoAmess Date: Tue, 5 Oct 2021 12:38:07 +0800 Subject: [PATCH 02/68] =?UTF-8?q?=E4=BD=BF=E7=94=A8Map#computeIfAbsent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../style/column/LongestMatchColumnWidthStyleStrategy.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java b/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java index d248de13..ee47fbfb 100644 --- a/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java +++ b/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java @@ -35,11 +35,7 @@ public class LongestMatchColumnWidthStyleStrategy extends AbstractColumnWidthSty if (!needSetWidth) { return; } - Map maxColumnWidthMap = cache.get(writeSheetHolder.getSheetNo()); - if (maxColumnWidthMap == null) { - maxColumnWidthMap = new HashMap(16); - cache.put(writeSheetHolder.getSheetNo(), maxColumnWidthMap); - } + Map maxColumnWidthMap = cache.computeIfAbsent(writeSheetHolder.getSheetNo(), key -> new HashMap<>(16)); Integer columnWidth = dataLength(cellDataList, cell, isHead); if (columnWidth < 0) { return; From 1cb9989836ff5c3adf97fc09d17def30591d24e3 Mon Sep 17 00:00:00 2001 From: chenxian01 Date: Thu, 4 Nov 2021 15:21:41 +0800 Subject: [PATCH 03/68] Create README_EN.md --- README_EN.md | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 156 insertions(+) create mode 100644 README_EN.md diff --git a/README_EN.md b/README_EN.md new file mode 100644 index 00000000..ae787bbb --- /dev/null +++ b/README_EN.md @@ -0,0 +1,156 @@ +EasyExcel +====================== +[![Build Status](https://github.com/alibaba/easyexcel/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/alibaba/easyexcel/actions/workflows/ci.yml?query=branch%3Amaster) +[![Maven central](https://maven-badges.herokuapp.com/maven-central/com.alibaba/easyexcel/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.alibaba/easyexcel) +[![License](http://img.shields.io/:license-apache-brightgreen.svg)](http://www.apache.org/licenses/LICENSE-2.0.html) + +[Communication Group 1 in QQ(Full): 662022184](https://jq.qq.com/?_wv=1027&k=1T21jJxh) +[Communication Group 2 in QQ(Full): 1097936804](https://jq.qq.com/?_wv=1027&k=j5zEy6Xl) +[Communication Group 3 in QQ(Full): 453928496](https://qm.qq.com/cgi-bin/qm/qr?k=e2ULsA5A0GldhV2CXJ8sIbAyu9I6qqs7&jump_from=webapi) +[Communication Group 4 in QQ: 496594404](https://qm.qq.com/cgi-bin/qm/qr?k=e_aVG1Q7gi0PJUBkbrUGAgbeO3kUEInK&jump_from=webapi) +[Communication Group 1 in DingTalk(Full): 21960511](https://qr.dingtalk.com/action/joingroup?code=v1,k1,cchz6k12ci9B08NNqhNRFGXocNVHrZtW0kaOtTKg/Rk=&_dt_no_comment=1&origin=11) +[Communication Group 2 in DingTalk(Full): 32796397](https://qr.dingtalk.com/action/joingroup?code=v1,k1,jyU9GtEuNU5S0QTyklqYcYJ8qDZtUuTPMM7uPZTS8Hs=&_dt_no_comment=1&origin=11) +[Communication Group 3 in DingTalk(Full): 33797247](https://qr.dingtalk.com/action/joingroup?code=v1,k1,3UGlEScTGQaHpW2cIRo+gkxJ9EVZ5fz26M6nW3uFP30=&_dt_no_comment=1&origin=11) +[Communication Group 4 in DingTalk(Full): 33491624](https://qr.dingtalk.com/action/joingroup?code=v1,k1,V14Pb65Too70rQkEaJ9ohb6lZBZbtp6jIL/q9EWh9vA=&_dt_no_comment=1&origin=11) +[Communication Group 5 in DingTalk: 32134498](https://h5.dingtalk.com/circle/healthCheckin.html?dtaction=os&corpId=dingb9fa1325d9dccc3ecac589edd02f1650&5233a=71a83&cbdbhh=qwertyuiop) +[Official Website: https://yuque.com/easyexcel](https://www.yuque.com/easyexcel/doc/easyexcel) + +[FAQ](https://www.yuque.com/easyexcel/faq) +#### It is recommended to join a DingTalk group + +# EasyExcel, a java toolkit for parsing Excel easily +There are several java frameworks or toolkit which can parse and generate Excel, such as Apache POI or jxl. But they all have some difficulties to handle problems like excessive memory usage. Apache POI framework has a set of SAX mode API can fix some memory overflow problems at some extent, but it still has some flaws. For example, the unzipping and the storage of the unzipping of Excel file in version 07 are done in memory, so the memory consumption is still very high. The EasyExcel toolkit rewrites the logic of POI for parsing Excel version 07. One 3 megabytes Excel file parsed with POI still requires about 100M memory, which can be reduced to a few megabyte by using EasyExcel instead. And yes, there is no memory overflow for even larger excel with EasyExcel. EasyExcel version 03 depends on POI SAX model and does model transformation/encapsulation in the upper layer to make it simpler and more convenient for users. + +## Using EasyExcel version 3.0.2+, a machine with 64M RAM can read a 75 megabyte Excel file containing 460,000 rows and 25 columns in 20 seconds +Of course, there is also a very fast mode can be faster, but the memory consumption will be a little more than 100M +![img](img/readme/large.png) + +## Version support +* EasyExcel version 2+ works on Java7 or Java6 +* EasyExcel version 3+ works on Java8 or java8+ +### About version upgrade +* It is not recommended upgrading across major versions, especially across 2 major versions. +* There are some incompatibilities in upgrading from version 2+ to version 3+. + * Using a custom interceptor to modify the style can cause problems, even if it does not compile with errors. + * When reading the Excel file, the `invoke` function will throw an exception, there will not be an additional layer of `ExcelAnalysisException` wrapped here, and it will not compile with errors. + * Style and other annotations involving `boolean` or some enumeration values have been changed, adding the default value. The compiler will report an error, just change the annotation. +* It is recommended to re-test the relevant functions after upgrading across major versions. + +### Latest Version +```xml + + com.alibaba + easyexcel + 3.0.2 + +``` + +## Advertising space +### Alibaba New Retail Business Department Recruitment +Alibaba New Retail Business Department sincerely recruit JAVA senior development, technical experts. If you are interested, you can contact us by WeChat, or send your Resume to my email jipengfei.jpf@alibaba-inc.com. +### EasyExcel personnel recruitment +Anyone who wants to participate in this project can apply, mainly responsible for answering questions in the communication group and dealing with the issues. Of course, you can also do some PR. +Since there is no material reward for participating in the open source project, and the current maintainers are also maintaining the project in their spare time. So people who want to join this project need to be persistent, not just on a whim. +The requirements are as follows: +* There are certain java coding skills & good coding habits +* Understand the read&write principles of EasyExcel +* Has passion for open source projects +* Be able to do things consistently for a long time +* Your job is not so busy + +## Related Documents +* [Quick Start](https://www.yuque.com/easyexcel/doc/easyexcel) +* [About Us](/abouteasyexcel.md) +* [Update Notes](/update.md) +* [Code Contribution](https://www.yuque.com/easyexcel/doc/contribute) + +## Maintainers +姬朋飞(玉霄)、庄家钜、怀宇 +## Quick Start +### Read Excel File +DEMO:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/demo/read/ReadTest.java](/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java) + +```java + /** + * The easiest way to read Excel file using EasyExcel toolkit + * + *

+ * 1. Create an entity object, such as {@link DemoData}, each property of the entity object corresponds to a specific field in any row of Excel. + * 2. When reading each row of an Excel file, create a callback listener for the corresponding row. Refer to{@link DemoDataListener} + * 3. Invoke the read function + *

+ */ + @Test + public void simpleRead() { + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + // Specify which entity object class to use to read the Excel content. The file stream will close automatically after reading the first sheet of Excel. + EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead(); + } +``` + +### Write Excel File +DEMO:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java](/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java) +```java + /** + * The easiest way to write Excel file using EasyExcel toolkit + * + *

+ * 1. Create an entity object, refer to{@link com.alibaba.easyexcel.test.demo.write.DemoData}. + * Each property of the entity object corresponds to a specific field of Excel + * 2. Invoke write function + *

+ */ + @Test + public void simpleWrite() { + String fileName = TestFileUtil.getPath() + "write" + System.currentTimeMillis() + ".xlsx"; + // Specify which entity object class to use to write Excel, it will write to the first sheet of Excel with the name template. Then the file stream will be closed automatically. + // With version 03, just pass in the excelType parameter + EasyExcel.write(fileName, DemoData.class).sheet("template").doWrite(data()); + } +``` + +### File Uploading&Downloading +DEMO:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java](/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java) +```java + /** + * File downloading + * + * Note: returns an Excel with partial data if it fails + * + *

+ * 1. Create an entity object, refer to{@link DownloadData}. + * Each property of the entity object corresponds to a specific field of Excel + * 2. Specify the returned properties + * 3. Invoke wirte function, then the OutputStream is automatically closed when it ends. + *

+ */ + @GetMapping("download") + public void download(HttpServletResponse response) throws IOException { + // Using swagger may cause some problems, please use your browser directly or use postman to invoke this + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); + response.setCharacterEncoding("utf-8"); + // URLEncoder.encode function can prevent Chinese garbled code + String fileName = URLEncoder.encode("test", "UTF-8").replaceAll("\\+", "%20"); + response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), DownloadData.class).sheet("template").doWrite(data()); + } + + /** + * File uploading + * + *

+ * 1. Create an entity object, refer to{@link UploadData} + * Each property of the entity object corresponds to a specific field of Excel + * 2. When reading each row of an Excel file, create a callback listener for the corresponding row. Refer to{@link UploadDataListener} + * 3. Invoke read function + *

+ */ + @PostMapping("upload") + @ResponseBody + public String upload(MultipartFile file) throws IOException { + EasyExcel.read(file.getInputStream(), UploadData.class, new UploadDataListener(uploadDAO)).sheet().doRead(); + return "success"; + } +``` +### Contact Us +If you have any questions, Alibaba colleagues can find me in DingTalk, and others can leave messages here. All related questions are well welcomed. From 10dee004189fdd620268ed362ae2b0fac2fdb62c Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 10 Nov 2021 17:40:49 +0800 Subject: [PATCH 04/68] =?UTF-8?q?=E8=AF=BB=E6=96=B0=E5=A2=9Erowindex?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java b/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java index 9d8e4736..ce84d5e2 100644 --- a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java +++ b/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java @@ -100,6 +100,8 @@ public class CellTagHandler extends AbstractXlsxTagHandler { } tempCellData.checkEmpty(); + tempCellData.setRowIndex(xlsxReadSheetHolder.getRowIndex()); + tempCellData.setColumnIndex(xlsxReadSheetHolder.getColumnIndex()); xlsxReadSheetHolder.getCellMap().put(xlsxReadSheetHolder.getColumnIndex(), tempCellData); } } From e5630e09d9ff915de1212ed9f534df30c8d6f576 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 10 Nov 2021 17:45:58 +0800 Subject: [PATCH 05/68] =?UTF-8?q?=E8=AF=BB=E6=96=B0=E5=A2=9Erowindex?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/core/head/ListHeadDataListener.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java b/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java index c57976a9..58660c90 100644 --- a/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java +++ b/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java @@ -4,22 +4,32 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.metadata.data.ReadCellData; +import com.alibaba.excel.read.listener.ReadListener; +import com.alibaba.fastjson.JSON; + import org.junit.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.alibaba.excel.context.AnalysisContext; -import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; - /** * @author Jiaju Zhuang */ -public class ListHeadDataListener extends AnalysisEventListener> { +public class ListHeadDataListener implements ReadListener> { private static final Logger LOGGER = LoggerFactory.getLogger(NoHeadData.class); List> list = new ArrayList>(); + @Override + public void invokeHead(Map> headMap, AnalysisContext context) { + Assert.assertNotNull(context.readRowHolder().getRowIndex()); + headMap.forEach((key, value) -> { + Assert.assertEquals(value.getRowIndex(), context.readRowHolder().getRowIndex()); + Assert.assertEquals(value.getColumnIndex(), key); + }); + } + @Override public void invoke(Map data, AnalysisContext context) { list.add(data); From 2bc7baa93098dc7bbf83e04aa30558bf69302990 Mon Sep 17 00:00:00 2001 From: cc323110 Date: Thu, 16 Dec 2021 01:26:27 +0800 Subject: [PATCH 06/68] =?UTF-8?q?feat(CSV=E6=96=87=E4=BB=B6=E8=A7=A3?= =?UTF-8?q?=E6=9E=90):=20=E6=96=B0=E5=A2=9E=E4=BA=86=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=9A=84=E5=8A=9F=E8=83=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 解析CSV文件时,编码不正确会导致解析内容为乱码. --- .../com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java | 4 ++-- .../com/alibaba/excel/read/builder/ExcelReaderBuilder.java | 5 +++++ .../java/com/alibaba/excel/read/metadata/ReadWorkbook.java | 2 ++ .../read/metadata/holder/csv/CsvReadWorkbookHolder.java | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java b/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java index d411ef0d..cb0af033 100644 --- a/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java +++ b/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java @@ -82,12 +82,12 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { CSVFormat csvFormat = csvReadWorkbookHolder.getCsvFormat(); if (csvReadWorkbookHolder.getMandatoryUseInputStream()) { - return csvFormat.parse(new InputStreamReader(csvReadWorkbookHolder.getInputStream())); + return csvFormat.parse(new InputStreamReader(csvReadWorkbookHolder.getInputStream(),csvReadWorkbookHolder.getEncoding())); } if (csvReadWorkbookHolder.getFile() != null) { return csvFormat.parse(new FileReader(csvReadWorkbookHolder.getFile())); } - return csvFormat.parse(new InputStreamReader(csvReadWorkbookHolder.getInputStream())); + return csvFormat.parse(new InputStreamReader(csvReadWorkbookHolder.getInputStream(),csvReadWorkbookHolder.getEncoding())); } private void dealRecord(CSVRecord record, int rowIndex) { diff --git a/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java b/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java index b630eea2..0cb11009 100644 --- a/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java +++ b/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java @@ -38,6 +38,11 @@ public class ExcelReaderBuilder extends AbstractExcelReaderParameterBuilder diff --git a/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java b/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java index 54ab034c..eb9c9b86 100644 --- a/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java +++ b/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java @@ -98,4 +98,6 @@ public class ReadWorkbook extends ReadBasicParameter { * @see CellExtraTypeEnum */ private Set extraReadSet; + + private String encoding; } diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java b/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java index 0a322d58..b83b3bc8 100644 --- a/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java +++ b/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java @@ -4,9 +4,11 @@ import com.alibaba.excel.read.metadata.ReadWorkbook; import com.alibaba.excel.read.metadata.holder.ReadWorkbookHolder; import com.alibaba.excel.support.ExcelTypeEnum; +import com.alibaba.excel.util.StringUtils; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; +import org.apache.commons.compress.utils.CharsetNames; import org.apache.commons.csv.CSVFormat; /** @@ -21,9 +23,12 @@ public class CsvReadWorkbookHolder extends ReadWorkbookHolder { private CSVFormat csvFormat; + private String encoding; + public CsvReadWorkbookHolder(ReadWorkbook readWorkbook) { super(readWorkbook); setExcelType(ExcelTypeEnum.CSV); this.csvFormat = CSVFormat.DEFAULT; + this.encoding = StringUtils.isEmpty(readWorkbook.getEncoding())? CharsetNames.UTF_8:readWorkbook.getEncoding(); } } From ea3ff3778d8edd99f78134e59431cb986bafbab2 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Tue, 21 Dec 2021 19:19:07 +0800 Subject: [PATCH 07/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/easyexcel/test/demo/write/WriteTest.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 463d60c3..47d8c3f8 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -66,6 +66,8 @@ public class WriteTest { */ @Test public void simpleWrite() { + // 注意 simpleWrite在数据量不大的情况下可以使用 ,数据量大参照 重复多次写入 + // 写法1 JDK8+ // since: 3.0.0-beta1 String fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx"; From 3dfac4cf31f97d707e556a00dda0def5227a095f Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Tue, 21 Dec 2021 19:20:01 +0800 Subject: [PATCH 08/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/easyexcel/test/demo/write/WriteTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 47d8c3f8..40357ed9 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -66,7 +66,7 @@ public class WriteTest { */ @Test public void simpleWrite() { - // 注意 simpleWrite在数据量不大的情况下可以使用 ,数据量大参照 重复多次写入 + // 注意 simpleWrite在数据量不大的情况下可以使用(5000以内,具体也要看实际情况),数据量大参照 重复多次写入 // 写法1 JDK8+ // since: 3.0.0-beta1 From ed50021e835b6e19db93d7fd3043b9c57f61458a Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 29 Dec 2021 19:33:15 +0800 Subject: [PATCH 09/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/read/processor/DefaultAnalysisEventProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java b/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java index 914a9654..45edb7b7 100644 --- a/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java +++ b/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java @@ -37,7 +37,7 @@ public class DefaultAnalysisEventProcessor implements AnalysisEventProcessor { public void endRow(AnalysisContext analysisContext) { if (RowTypeEnum.EMPTY.equals(analysisContext.readRowHolder().getRowType())) { if (LOGGER.isDebugEnabled()) { - LOGGER.warn("Empty row!"); + LOGGER.debug("Empty row!"); } if (analysisContext.readWorkbookHolder().getIgnoreEmptyRow()) { return; From e6b6d2a07b3483b311f203a0ed83adda2639efda Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 9 Feb 2022 10:14:02 +0800 Subject: [PATCH 10/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +- easyexcel-core/pom.xml | 39 +++ .../java/com/alibaba/excel/EasyExcel.java | 0 .../com/alibaba/excel/EasyExcelFactory.java | 0 .../java/com/alibaba/excel/ExcelReader.java | 0 .../java/com/alibaba/excel/ExcelWriter.java | 0 .../alibaba/excel/analysis/ExcelAnalyser.java | 0 .../excel/analysis/ExcelAnalyserImpl.java | 0 .../excel/analysis/ExcelReadExecutor.java | 0 .../analysis/csv/CsvExcelReadExecutor.java | 0 .../v03/IgnorableXlsRecordHandler.java | 0 .../analysis/v03/XlsListSheetListener.java | 0 .../excel/analysis/v03/XlsRecordHandler.java | 0 .../excel/analysis/v03/XlsSaxAnalyser.java | 0 .../handlers/AbstractXlsRecordHandler.java | 0 .../v03/handlers/BlankRecordHandler.java | 0 .../v03/handlers/BofRecordHandler.java | 0 .../v03/handlers/BoolErrRecordHandler.java | 0 .../v03/handlers/BoundSheetRecordHandler.java | 0 .../v03/handlers/DummyRecordHandler.java | 0 .../v03/handlers/EofRecordHandler.java | 0 .../v03/handlers/FormulaRecordHandler.java | 0 .../v03/handlers/HyperlinkRecordHandler.java | 0 .../v03/handlers/IndexRecordHandler.java | 0 .../v03/handlers/LabelRecordHandler.java | 0 .../v03/handlers/LabelSstRecordHandler.java | 0 .../v03/handlers/MergeCellsRecordHandler.java | 0 .../v03/handlers/NoteRecordHandler.java | 0 .../v03/handlers/NumberRecordHandler.java | 0 .../v03/handlers/ObjRecordHandler.java | 0 .../v03/handlers/RkRecordHandler.java | 0 .../v03/handlers/SstRecordHandler.java | 0 .../v03/handlers/StringRecordHandler.java | 0 .../v03/handlers/TextObjectRecordHandler.java | 0 .../excel/analysis/v07/XlsxSaxAnalyser.java | 0 .../handlers/AbstractCellValueTagHandler.java | 0 .../v07/handlers/AbstractXlsxTagHandler.java | 0 .../v07/handlers/CellFormulaTagHandler.java | 0 .../CellInlineStringValueTagHandler.java | 0 .../analysis/v07/handlers/CellTagHandler.java | 0 .../v07/handlers/CellValueTagHandler.java | 0 .../v07/handlers/CountTagHandler.java | 0 .../v07/handlers/HyperlinkTagHandler.java | 0 .../v07/handlers/MergeCellTagHandler.java | 0 .../analysis/v07/handlers/RowTagHandler.java | 0 .../analysis/v07/handlers/XlsxTagHandler.java | 0 .../sax/SharedStringsTableHandler.java | 0 .../v07/handlers/sax/XlsxRowHandler.java | 0 .../alibaba/excel/annotation/ExcelIgnore.java | 0 .../annotation/ExcelIgnoreUnannotated.java | 0 .../excel/annotation/ExcelProperty.java | 0 .../annotation/format/DateTimeFormat.java | 0 .../excel/annotation/format/NumberFormat.java | 0 .../annotation/write/style/ColumnWidth.java | 0 .../write/style/ContentFontStyle.java | 0 .../write/style/ContentLoopMerge.java | 0 .../write/style/ContentRowHeight.java | 0 .../annotation/write/style/ContentStyle.java | 0 .../annotation/write/style/HeadFontStyle.java | 0 .../annotation/write/style/HeadRowHeight.java | 0 .../annotation/write/style/HeadStyle.java | 0 .../write/style/OnceAbsoluteMerge.java | 0 .../java/com/alibaba/excel/cache/Ehcache.java | 0 .../com/alibaba/excel/cache/MapCache.java | 0 .../com/alibaba/excel/cache/ReadCache.java | 0 .../com/alibaba/excel/cache/XlsCache.java | 0 .../selector/EternalReadCacheSelector.java | 0 .../cache/selector/ReadCacheSelector.java | 0 .../selector/SimpleReadCacheSelector.java | 0 .../excel/constant/BuiltinFormats.java | 0 .../excel/constant/ExcelXmlConstants.java | 0 .../alibaba/excel/constant/OrderConstant.java | 0 .../excel/context/AnalysisContext.java | 0 .../excel/context/AnalysisContextImpl.java | 0 .../alibaba/excel/context/WriteContext.java | 0 .../excel/context/WriteContextImpl.java | 0 .../excel/context/csv/CsvReadContext.java | 0 .../context/csv/DefaultCsvReadContext.java | 0 .../context/xls/DefaultXlsReadContext.java | 0 .../excel/context/xls/XlsReadContext.java | 0 .../context/xlsx/DefaultXlsxReadContext.java | 0 .../excel/context/xlsx/XlsxReadContext.java | 0 .../excel/converters/AutoConverter.java | 0 .../alibaba/excel/converters/Converter.java | 0 .../excel/converters/ConverterKeyBuild.java | 0 .../converters/DefaultConverterLoader.java | 0 .../converters/NullableObjectConverter.java | 0 .../converters/ReadConverterContext.java | 0 .../converters/WriteConverterContext.java | 0 .../BigDecimalBooleanConverter.java | 0 .../bigdecimal/BigDecimalNumberConverter.java | 0 .../bigdecimal/BigDecimalStringConverter.java | 0 .../BigIntegerBooleanConverter.java | 0 .../biginteger/BigIntegerNumberConverter.java | 0 .../biginteger/BigIntegerStringConverter.java | 0 .../BooleanBooleanConverter.java | 0 .../BooleanNumberConverter.java | 0 .../BooleanStringConverter.java | 0 .../BoxingByteArrayImageConverter.java | 0 .../bytearray/ByteArrayImageConverter.java | 0 .../byteconverter/ByteBooleanConverter.java | 0 .../byteconverter/ByteNumberConverter.java | 0 .../byteconverter/ByteStringConverter.java | 0 .../converters/date/DateDateConverter.java | 0 .../converters/date/DateNumberConverter.java | 0 .../converters/date/DateStringConverter.java | 0 .../DoubleBooleanConverter.java | 0 .../DoubleNumberConverter.java | 0 .../DoubleStringConverter.java | 0 .../converters/file/FileImageConverter.java | 0 .../floatconverter/FloatBooleanConverter.java | 0 .../floatconverter/FloatNumberConverter.java | 0 .../floatconverter/FloatStringConverter.java | 0 .../InputStreamImageConverter.java | 0 .../integer/IntegerBooleanConverter.java | 0 .../integer/IntegerNumberConverter.java | 0 .../integer/IntegerStringConverter.java | 0 .../LocalDateNumberConverter.java | 0 .../LocalDateTimeDateConverter.java | 0 .../LocalDateTimeStringConverter.java | 0 .../longconverter/LongBooleanConverter.java | 0 .../longconverter/LongNumberConverter.java | 0 .../longconverter/LongStringConverter.java | 0 .../shortconverter/ShortBooleanConverter.java | 0 .../shortconverter/ShortNumberConverter.java | 0 .../shortconverter/ShortStringConverter.java | 0 .../string/StringBooleanConverter.java | 0 .../string/StringErrorConverter.java | 0 .../string/StringImageConverter.java | 0 .../string/StringNumberConverter.java | 0 .../string/StringStringConverter.java | 0 .../converters/url/UrlImageConverter.java | 0 .../com/alibaba/excel/enums/BooleanEnum.java | 0 .../alibaba/excel/enums/CellDataTypeEnum.java | 0 .../excel/enums/CellExtraTypeEnum.java | 0 .../com/alibaba/excel/enums/HeadKindEnum.java | 0 .../com/alibaba/excel/enums/HolderEnum.java | 0 .../excel/enums/NumericCellTypeEnum.java | 0 .../com/alibaba/excel/enums/RowTypeEnum.java | 0 .../excel/enums/WriteDirectionEnum.java | 0 .../excel/enums/WriteLastRowTypeEnum.java | 0 .../WriteTemplateAnalysisCellTypeEnum.java | 0 .../alibaba/excel/enums/WriteTypeEnum.java | 0 .../excel/enums/poi/BorderStyleEnum.java | 0 .../excel/enums/poi/FillPatternTypeEnum.java | 0 .../enums/poi/HorizontalAlignmentEnum.java | 0 .../enums/poi/VerticalAlignmentEnum.java | 0 .../AbstractIgnoreExceptionReadListener.java | 0 .../excel/event/AnalysisEventListener.java | 0 .../java/com/alibaba/excel/event/Handler.java | 0 .../com/alibaba/excel/event/Listener.java | 0 .../excel/event/NotRepeatExecutor.java | 0 .../java/com/alibaba/excel/event/Order.java | 0 .../alibaba/excel/event/SyncReadListener.java | 0 .../exception/ExcelAnalysisException.java | 0 .../exception/ExcelAnalysisStopException.java | 0 .../excel/exception/ExcelCommonException.java | 0 .../exception/ExcelDataConvertException.java | 0 .../exception/ExcelGenerateException.java | 0 .../ExcelWriteDataConvertException.java | 0 .../alibaba/excel/metadata/AbstractCell.java | 0 .../excel/metadata/AbstractHolder.java | 0 .../metadata/AbstractParameterBuilder.java | 0 .../excel/metadata/BasicParameter.java | 0 .../java/com/alibaba/excel/metadata/Cell.java | 0 .../com/alibaba/excel/metadata/CellExtra.java | 0 .../com/alibaba/excel/metadata/CellRange.java | 0 .../excel/metadata/ConfigurationHolder.java | 0 .../java/com/alibaba/excel/metadata/Font.java | 0 .../excel/metadata/GlobalConfiguration.java | 0 .../java/com/alibaba/excel/metadata/Head.java | 0 .../com/alibaba/excel/metadata/Holder.java | 0 .../alibaba/excel/metadata/NullObject.java | 0 .../alibaba/excel/metadata/csv/CsvCell.java | 0 .../excel/metadata/csv/CsvCellStyle.java | 0 .../excel/metadata/csv/CsvDataFormat.java | 0 .../excel/metadata/csv/CsvRichTextString.java | 0 .../alibaba/excel/metadata/csv/CsvRow.java | 0 .../alibaba/excel/metadata/csv/CsvSheet.java | 0 .../excel/metadata/csv/CsvWorkbook.java | 0 .../alibaba/excel/metadata/data/CellData.java | 0 .../excel/metadata/data/ClientAnchorData.java | 0 .../excel/metadata/data/CommentData.java | 0 .../excel/metadata/data/CoordinateData.java | 0 .../excel/metadata/data/DataFormatData.java | 0 .../excel/metadata/data/FormulaData.java | 0 .../excel/metadata/data/HyperlinkData.java | 0 .../excel/metadata/data/ImageData.java | 0 .../excel/metadata/data/ReadCellData.java | 0 .../metadata/data/RichTextStringData.java | 0 .../excel/metadata/data/WriteCellData.java | 0 .../excel/metadata/format/DataFormatter.java | 0 .../format/ExcelGeneralNumberFormat.java | 0 .../property/ColumnWidthProperty.java | 0 .../property/DateTimeFormatProperty.java | 0 .../property/ExcelContentProperty.java | 0 .../metadata/property/ExcelHeadProperty.java | 0 .../excel/metadata/property/FontProperty.java | 0 .../metadata/property/LoopMergeProperty.java | 0 .../property/NumberFormatProperty.java | 0 .../property/OnceAbsoluteMergeProperty.java | 0 .../metadata/property/RowHeightProperty.java | 0 .../metadata/property/StyleProperty.java | 0 .../AbstractExcelReaderParameterBuilder.java | 0 .../read/builder/ExcelReaderBuilder.java | 0 .../read/builder/ExcelReaderSheetBuilder.java | 0 .../listener/IgnoreExceptionReadListener.java | 0 .../listener/ModelBuildEventListener.java | 0 .../excel/read/listener/PageReadListener.java | 0 .../excel/read/listener/ReadListener.java | 0 .../read/metadata/ReadBasicParameter.java | 0 .../excel/read/metadata/ReadSheet.java | 0 .../excel/read/metadata/ReadWorkbook.java | 0 .../metadata/holder/AbstractReadHolder.java | 0 .../read/metadata/holder/ReadHolder.java | 0 .../read/metadata/holder/ReadRowHolder.java | 0 .../read/metadata/holder/ReadSheetHolder.java | 0 .../metadata/holder/ReadWorkbookHolder.java | 0 .../holder/csv/CsvReadSheetHolder.java | 0 .../holder/csv/CsvReadWorkbookHolder.java | 0 .../holder/xls/XlsReadSheetHolder.java | 0 .../holder/xls/XlsReadWorkbookHolder.java | 0 .../holder/xlsx/XlsxReadSheetHolder.java | 0 .../holder/xlsx/XlsxReadWorkbookHolder.java | 0 .../property/ExcelReadHeadProperty.java | 0 .../processor/AnalysisEventProcessor.java | 0 .../DefaultAnalysisEventProcessor.java | 0 .../alibaba/excel/support/ExcelTypeEnum.java | 0 .../com/alibaba/excel/util/BeanMapUtils.java | 0 .../com/alibaba/excel/util/BooleanUtils.java | 0 .../com/alibaba/excel/util/ClassUtils.java | 0 .../alibaba/excel/util/ConverterUtils.java | 0 .../com/alibaba/excel/util/DateUtils.java | 0 .../com/alibaba/excel/util/FieldUtils.java | 0 .../com/alibaba/excel/util/FileTypeUtils.java | 0 .../com/alibaba/excel/util/FileUtils.java | 0 .../java/com/alibaba/excel/util/IntUtils.java | 0 .../java/com/alibaba/excel/util/IoUtils.java | 0 .../com/alibaba/excel/util/ListUtils.java | 0 .../java/com/alibaba/excel/util/MapUtils.java | 0 .../com/alibaba/excel/util/MemberUtils.java | 0 .../excel/util/NumberDataFormatterUtils.java | 0 .../com/alibaba/excel/util/NumberUtils.java | 0 .../com/alibaba/excel/util/PositionUtils.java | 0 .../com/alibaba/excel/util/SheetUtils.java | 0 .../com/alibaba/excel/util/StringUtils.java | 0 .../com/alibaba/excel/util/StyleUtil.java | 0 .../java/com/alibaba/excel/util/Validate.java | 0 .../com/alibaba/excel/util/WorkBookUtil.java | 0 .../alibaba/excel/util/WriteHandlerUtils.java | 0 .../com/alibaba/excel/write/ExcelBuilder.java | 1 - .../alibaba/excel/write/ExcelBuilderImpl.java | 0 .../AbstractExcelWriterParameterBuilder.java | 0 .../write/builder/ExcelWriterBuilder.java | 0 .../builder/ExcelWriterSheetBuilder.java | 0 .../builder/ExcelWriterTableBuilder.java | 0 .../executor/AbstractExcelWriteExecutor.java | 0 .../write/executor/ExcelWriteAddExecutor.java | 0 .../write/executor/ExcelWriteExecutor.java | 0 .../executor/ExcelWriteFillExecutor.java | 0 .../handler/AbstractCellWriteHandler.java | 0 .../handler/AbstractRowWriteHandler.java | 0 .../handler/AbstractSheetWriteHandler.java | 0 .../handler/AbstractWorkbookWriteHandler.java | 0 .../excel/write/handler/CellWriteHandler.java | 0 .../handler/DefaultWriteHandlerLoader.java | 0 .../excel/write/handler/RowWriteHandler.java | 0 .../write/handler/SheetWriteHandler.java | 0 .../write/handler/WorkbookWriteHandler.java | 0 .../excel/write/handler/WriteHandler.java | 0 .../chain/CellHandlerExecutionChain.java | 0 .../chain/RowHandlerExecutionChain.java | 0 .../chain/SheetHandlerExecutionChain.java | 0 .../chain/WorkbookHandlerExecutionChain.java | 0 .../context/CellWriteHandlerContext.java | 0 .../context/RowWriteHandlerContext.java | 0 .../context/SheetWriteHandlerContext.java | 0 .../context/WorkbookWriteHandlerContext.java | 0 .../handler/impl/DefaultRowWriteHandler.java | 0 .../impl/DimensionWorkbookWriteHandler.java | 0 .../impl/FillStyleCellWriteHandler.java | 0 .../write/merge/AbstractMergeStrategy.java | 0 .../excel/write/merge/LoopMergeStrategy.java | 0 .../merge/OnceAbsoluteMergeStrategy.java | 1 - .../write/metadata/CollectionRowData.java | 0 .../excel/write/metadata/MapRowData.java | 0 .../alibaba/excel/write/metadata/RowData.java | 0 .../write/metadata/WriteBasicParameter.java | 0 .../excel/write/metadata/WriteSheet.java | 0 .../excel/write/metadata/WriteTable.java | 0 .../excel/write/metadata/WriteWorkbook.java | 0 .../write/metadata/fill/AnalysisCell.java | 0 .../excel/write/metadata/fill/FillConfig.java | 0 .../write/metadata/fill/FillWrapper.java | 0 .../metadata/holder/AbstractWriteHolder.java | 0 .../write/metadata/holder/WriteHolder.java | 0 .../metadata/holder/WriteSheetHolder.java | 0 .../metadata/holder/WriteTableHolder.java | 0 .../metadata/holder/WriteWorkbookHolder.java | 0 .../write/metadata/style/WriteCellStyle.java | 0 .../excel/write/metadata/style/WriteFont.java | 0 .../property/ExcelWriteHeadProperty.java | 0 .../style/AbstractCellStyleStrategy.java | 0 .../AbstractVerticalCellStyleStrategy.java | 0 .../excel/write/style/DefaultStyle.java | 0 .../style/HorizontalCellStyleStrategy.java | 0 .../AbstractColumnWidthStyleStrategy.java | 0 .../AbstractHeadColumnWidthStyleStrategy.java | 0 .../LongestMatchColumnWidthStyleStrategy.java | 0 .../SimpleColumnWidthStyleStrategy.java | 0 .../row/AbstractRowHeightStyleStrategy.java | 0 .../row/SimpleRowHeightStyleStrategy.java | 0 .../apache/poi/hssf/usermodel/PoiUtils.java | 0 .../easyexcel/test/core/StyleTestUtils.java | 0 .../test/core/annotation/AnnotationData.java | 0 .../annotation/AnnotationDataListener.java | 0 .../core/annotation/AnnotationDataTest.java | 0 .../AnnotationIndexAndNameData.java | 0 .../AnnotationIndexAndNameDataListener.java | 0 .../AnnotationIndexAndNameDataTest.java | 0 .../core/annotation/AnnotationStyleData.java | 0 .../core/celldata/CellDataDataListener.java | 0 .../test/core/celldata/CellDataDataTest.java | 0 .../test/core/celldata/CellDataReadData.java | 0 .../test/core/celldata/CellDataWriteData.java | 0 .../core/converter/ConverterDataListener.java | 0 .../core/converter/ConverterDataTest.java | 0 .../core/converter/ConverterReadData.java | 0 .../test/core/converter/ConverterTest.java | 0 .../core/converter/ConverterWriteData.java | 0 .../test/core/converter/ImageData.java | 0 .../core/converter/ReadAllConverterData.java | 0 .../ReadAllConverterDataListener.java | 0 .../test/core/dataformat/DateFormatData.java | 0 .../test/core/dataformat/DateFormatTest.java | 0 .../test/core/encrypt/EncryptData.java | 0 .../core/encrypt/EncryptDataListener.java | 0 .../test/core/encrypt/EncryptDataTest.java | 0 .../test/core/exception/ExceptionData.java | 0 .../core/exception/ExceptionDataListener.java | 0 .../core/exception/ExceptionDataTest.java | 0 .../exception/ExceptionThrowDataListener.java | 0 .../ExcludeOrIncludeData.java | 0 .../ExcludeOrIncludeDataTest.java | 0 .../easyexcel/test/core/extra/ExtraData.java | 0 .../test/core/extra/ExtraDataListener.java | 0 .../test/core/extra/ExtraDataTest.java | 0 .../easyexcel/test/core/fill/FillData.java | 0 .../test/core/fill/FillDataTest.java | 0 .../fill/annotation/FillAnnotationData.java | 0 .../annotation/FillAnnotationDataTest.java | 0 .../fill/style/FillStyleAnnotatedData.java | 0 .../fill/style/FillStyleAnnotatedTest.java | 0 .../test/core/fill/style/FillStyleData.java | 0 .../core/fill/style/FillStyleDataTest.java | 0 .../test/core/handler/WriteHandler.java | 0 .../test/core/handler/WriteHandlerData.java | 0 .../test/core/handler/WriteHandlerTest.java | 0 .../test/core/head/ComplexDataListener.java | 0 .../test/core/head/ComplexHeadData.java | 0 .../test/core/head/ComplexHeadDataTest.java | 0 .../test/core/head/ListHeadDataListener.java | 0 .../test/core/head/ListHeadDataTest.java | 0 .../easyexcel/test/core/head/NoHeadData.java | 0 .../test/core/head/NoHeadDataListener.java | 0 .../test/core/head/NoHeadDataTest.java | 0 .../easyexcel/test/core/large/LargeData.java | 0 .../test/core/large/LargeDataListener.java | 0 .../test/core/large/LargeDataTest.java | 0 .../multiplesheets/MultipleSheetsData.java | 0 .../MultipleSheetsDataTest.java | 0 .../MultipleSheetsListener.java | 2 - .../test/core/nomodel/NoModelDataTest.java | 0 .../test/core/noncamel/UnCamelData.java | 0 .../core/noncamel/UnCamelDataListener.java | 0 .../test/core/noncamel/UnCamelDataTest.java | 0 .../test/core/parameter/ParameterData.java | 0 .../core/parameter/ParameterDataListener.java | 0 .../core/parameter/ParameterDataTest.java | 0 .../test/core/repetition/RepetitionData.java | 0 .../repetition/RepetitionDataListener.java | 0 .../core/repetition/RepetitionDataTest.java | 0 .../test/core/simple/SimpleData.java | 0 .../test/core/simple/SimpleDataListener.java | 0 .../simple/SimpleDataSheetNameListener.java | 0 .../test/core/simple/SimpleDataTest.java | 0 .../easyexcel/test/core/skip/SkipData.java | 0 .../test/core/skip/SkipDataTest.java | 0 .../easyexcel/test/core/sort/SortData.java | 0 .../test/core/sort/SortDataListener.java | 3 - .../test/core/sort/SortDataTest.java | 0 .../easyexcel/test/core/style/StyleData.java | 0 .../test/core/style/StyleDataListener.java | 0 .../test/core/style/StyleDataTest.java | 0 .../test/core/template/TemplateData.java | 0 .../core/template/TemplateDataListener.java | 0 .../test/core/template/TemplateDataTest.java | 0 .../easyexcel/test/demo/fill/FillData.java | 0 .../easyexcel/test/demo/fill/FillTest.java | 0 .../read/CellDataDemoHeadDataListener.java | 0 .../test/demo/read/CellDataReadDemoData.java | 0 .../test/demo/read/ConverterData.java | 0 .../test/demo/read/ConverterDataListener.java | 0 .../read/CustomStringStringConverter.java | 0 .../easyexcel/test/demo/read/DemoDAO.java | 0 .../easyexcel/test/demo/read/DemoData.java | 0 .../test/demo/read/DemoDataListener.java | 0 .../test/demo/read/DemoExceptionListener.java | 0 .../test/demo/read/DemoExtraData.java | 0 .../test/demo/read/DemoExtraListener.java | 0 .../test/demo/read/DemoHeadDataListener.java | 0 .../test/demo/read/ExceptionDemoData.java | 0 .../test/demo/read/IndexOrNameData.java | 0 .../demo/read/IndexOrNameDataListener.java | 0 .../test/demo/read/NoModelDataListener.java | 0 .../easyexcel/test/demo/read/ReadTest.java | 0 .../easyexcel/test/demo/web/DownloadData.java | 0 .../test/demo/web/EasyexcelApplication.java | 0 .../easyexcel/test/demo/web/UploadDAO.java | 2 - .../easyexcel/test/demo/web/UploadData.java | 0 .../test/demo/web/UploadDataListener.java | 0 .../easyexcel/test/demo/web/WebTest.java | 0 .../test/demo/write/CommentWriteHandler.java | 0 .../test/demo/write/ComplexHeadData.java | 0 .../test/demo/write/ConverterData.java | 0 .../demo/write/CustomCellWriteHandler.java | 0 .../demo/write/CustomSheetWriteHandler.java | 0 .../write/CustomStringStringConverter.java | 0 .../easyexcel/test/demo/write/DemoData.java | 0 .../test/demo/write/DemoMergeData.java | 0 .../test/demo/write/DemoStyleData.java | 0 .../demo/write/ImageDataWithAnnotation.java | 0 .../test/demo/write/ImageDemoData.java | 0 .../easyexcel/test/demo/write/IndexData.java | 0 .../write/LongestMatchColumnWidthData.java | 0 .../test/demo/write/WidthAndHeightData.java | 0 .../test/demo/write/WriteCellDemoData.java | 0 .../easyexcel/test/demo/write/WriteTest.java | 0 .../alibaba/easyexcel/test/temp/CamlData.java | 0 .../easyexcel/test/temp/FillTempTest.java | 0 .../easyexcel/test/temp/Lock2Test.java | 0 .../alibaba/easyexcel/test/temp/LockData.java | 0 .../easyexcel/test/temp/LockDataListener.java | 0 .../alibaba/easyexcel/test/temp/LockTest.java | 0 .../easyexcel/test/temp/StyleData.java | 0 .../easyexcel/test/temp/StyleTest.java | 0 .../easyexcel/test/temp/TempFillData.java | 0 .../easyexcel/test/temp/WriteLargeTest.java | 0 .../easyexcel/test/temp/WriteV33Test.java | 0 .../easyexcel/test/temp/WriteV34Test.java | 2 - .../easyexcel/test/temp/Xls03Test.java | 0 .../easyexcel/test/temp/bug/DataType.java | 0 .../easyexcel/test/temp/bug/ExcelCreat.java | 0 .../easyexcel/test/temp/bug/HeadType.java | 0 .../easyexcel/test/temp/cache/CacheTest.java | 2 - .../easyexcel/test/temp/csv/CsvData.java | 0 .../test/temp/csv/CsvDataListeer.java | 0 .../easyexcel/test/temp/csv/CsvReadTest.java | 0 .../easyexcel/test/temp/data/DataType.java | 0 .../easyexcel/test/temp/data/HeadType.java | 0 .../test/temp/dataformat/DataFormatData.java | 0 .../test/temp/dataformat/DataFormatTest.java | 0 .../test/temp/dataformat/DataFormatter1.java | 0 .../easyexcel/test/temp/fill/FillData2.java | 0 .../test/temp/fill/FillTempTest.java | 0 .../test/temp/issue1662/Data1662.java | 0 .../test/temp/issue1662/Issue1662Test.java | 0 .../test/temp/issue1663/FillData.java | 0 .../test/temp/issue1663/FillTest.java | 0 .../easyexcel/test/temp/large/LargeData.java | 0 .../test/temp/large/LargeDataListener.java | 1 - .../temp/large/NoModelLargeDataListener.java | 0 .../test/temp/large/TempLargeDataTest.java | 0 .../easyexcel/test/temp/poi/Poi2Test.java | 3 - .../easyexcel/test/temp/poi/Poi3Test.java | 2 - .../test/temp/poi/PoiEncryptTest.java | 0 .../test/temp/poi/PoiFormatTest.java | 0 .../easyexcel/test/temp/poi/PoiTest.java | 0 .../easyexcel/test/temp/poi/PoiWriteTest.java | 0 .../easyexcel/test/temp/poi/TestCell.java | 0 .../easyexcel/test/temp/read/CommentTest.java | 0 .../easyexcel/test/temp/read/HDListener.java | 0 .../test/temp/read/HeadListener.java | 0 .../test/temp/read/HeadReadData.java | 0 .../test/temp/read/HeadReadTest.java | 0 .../test/temp/read/TestListener.java | 0 .../easyexcel/test/temp/simple/DemoData1.java | 0 .../easyexcel/test/temp/simple/DemoData2.java | 0 .../test/temp/simple/HgListener.java | 0 .../easyexcel/test/temp/simple/HgTest.java | 1 - .../easyexcel/test/temp/simple/JsonData.java | 0 .../test/temp/simple/RepeatListener.java | 0 .../test/temp/simple/RepeatTest.java | 2 - .../easyexcel/test/temp/simple/Wirte.java | 0 .../test/temp/simple/WriteCellHandler.java | 0 .../easyexcel/test/temp/simple/WriteData.java | 0 .../test/temp/simple/WriteHandler.java | 1 - .../easyexcel/test/util/TestFileUtil.java | 0 .../test/resources/converter/converter03.xls | Bin .../test/resources/converter/converter07.xlsx | Bin .../test/resources/converter/converterCsv.csv | 0 .../src}/test/resources/converter/img.jpg | Bin .../test/resources/dataformat/dataformat.xls | Bin .../test/resources/dataformat/dataformat.xlsx | Bin .../test/resources/demo/cellDataDemo.xlsx | Bin .../src}/test/resources/demo/demo.xlsx | Bin .../src}/test/resources/demo/extra.xlsx | Bin .../test/resources/demo/fill/complex.xlsx | Bin .../demo/fill/complexFillWithTable.xlsx | Bin .../test/resources/demo/fill/composite.xlsx | Bin .../test/resources/demo/fill/horizontal.xlsx | Bin .../src}/test/resources/demo/fill/list.xlsx | Bin .../src}/test/resources/demo/fill/simple.xlsx | Bin .../src}/test/resources/extra/extra.xls | Bin .../src}/test/resources/extra/extra.xlsx | Bin .../src}/test/resources/fill/annotation.xls | Bin .../src}/test/resources/fill/annotation.xlsx | Bin .../src}/test/resources/fill/byName.xls | Bin .../src}/test/resources/fill/byName.xlsx | Bin .../src}/test/resources/fill/complex.xls | Bin .../src}/test/resources/fill/complex.xlsx | Bin .../src}/test/resources/fill/composite.xls | Bin .../src}/test/resources/fill/composite.xlsx | Bin .../src}/test/resources/fill/horizontal.xls | Bin .../src}/test/resources/fill/horizontal.xlsx | Bin .../src}/test/resources/fill/simple.csv | 0 .../src}/test/resources/fill/simple.xls | Bin .../src}/test/resources/fill/simple.xlsx | Bin .../src}/test/resources/fill/style.xls | Bin .../src}/test/resources/fill/style.xlsx | Bin .../src}/test/resources/large/fill.xlsx | Bin .../src}/test/resources/large/large07.xlsx | Bin .../src}/test/resources/logback.xml | 0 .../multiplesheets/multiplesheets.xls | Bin .../multiplesheets/multiplesheets.xlsx | Bin .../src}/test/resources/simple/simple07.xlsx | Bin .../resources/temp/issue1663/template.xlsx | Bin .../test/resources/template/template03.xls | Bin .../test/resources/template/template07.xlsx | Bin easyexcel-support/README.md | 3 + easyexcel-support/pom.xml | 58 ++++ pom.xml | 253 ++++++++++++------ update.md | 3 + 543 files changed, 282 insertions(+), 103 deletions(-) create mode 100644 easyexcel-core/pom.xml rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/EasyExcel.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/EasyExcelFactory.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/ExcelReader.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/ExcelWriter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/ExcelAnalyser.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/ExcelReadExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/IgnorableXlsRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/XlsRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/AbstractXlsRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/BofRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/BoundSheetRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/HyperlinkRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/IndexRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/MergeCellsRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/NoteRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/NumberRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/ObjRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/RkRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/SstRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/StringRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v03/handlers/TextObjectRecordHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractCellValueTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/CellFormulaTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/CellInlineStringValueTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/CellValueTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/CountTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/HyperlinkTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/MergeCellTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/XlsxTagHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/ExcelIgnore.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/ExcelIgnoreUnannotated.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/ExcelProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/format/DateTimeFormat.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/format/NumberFormat.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/ColumnWidth.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/ContentFontStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/ContentLoopMerge.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/ContentRowHeight.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/ContentStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/HeadFontStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/HeadRowHeight.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/HeadStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/annotation/write/style/OnceAbsoluteMerge.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/Ehcache.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/MapCache.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/ReadCache.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/XlsCache.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/selector/EternalReadCacheSelector.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/selector/ReadCacheSelector.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/constant/BuiltinFormats.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/constant/ExcelXmlConstants.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/constant/OrderConstant.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/AnalysisContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/AnalysisContextImpl.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/WriteContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/WriteContextImpl.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/csv/CsvReadContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/csv/DefaultCsvReadContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/xls/DefaultXlsReadContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/xls/XlsReadContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/xlsx/DefaultXlsxReadContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/context/xlsx/XlsxReadContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/AutoConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/Converter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/ConverterKeyBuild.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/DefaultConverterLoader.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/NullableObjectConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/ReadConverterContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/WriteConverterContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/biginteger/BigIntegerBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/biginteger/BigIntegerNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/booleanconverter/BooleanBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/booleanconverter/BooleanNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/booleanconverter/BooleanStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/bytearray/BoxingByteArrayImageConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/bytearray/ByteArrayImageConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/byteconverter/ByteBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/byteconverter/ByteNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/byteconverter/ByteStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/date/DateDateConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/date/DateNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/date/DateStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/doubleconverter/DoubleBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/doubleconverter/DoubleNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/doubleconverter/DoubleStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/file/FileImageConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/floatconverter/FloatBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/floatconverter/FloatNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/floatconverter/FloatStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/inputstream/InputStreamImageConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/integer/IntegerBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/integer/IntegerNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/integer/IntegerStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/localdatetime/LocalDateNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeDateConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/longconverter/LongBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/longconverter/LongNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/longconverter/LongStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/shortconverter/ShortBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/shortconverter/ShortNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/shortconverter/ShortStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/string/StringBooleanConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/string/StringErrorConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/string/StringImageConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/string/StringNumberConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/string/StringStringConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/converters/url/UrlImageConverter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/BooleanEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/CellDataTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/CellExtraTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/HeadKindEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/HolderEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/NumericCellTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/RowTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/WriteDirectionEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/WriteLastRowTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/WriteTemplateAnalysisCellTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/WriteTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/poi/BorderStyleEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/poi/FillPatternTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/poi/HorizontalAlignmentEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/enums/poi/VerticalAlignmentEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/AbstractIgnoreExceptionReadListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/AnalysisEventListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/Handler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/Listener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/NotRepeatExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/Order.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/event/SyncReadListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/exception/ExcelAnalysisStopException.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/exception/ExcelCommonException.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/exception/ExcelGenerateException.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/exception/ExcelWriteDataConvertException.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/AbstractCell.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/AbstractHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/AbstractParameterBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/BasicParameter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/Cell.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/CellExtra.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/CellRange.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/ConfigurationHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/Font.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/GlobalConfiguration.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/Head.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/Holder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/NullObject.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvCell.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvCellStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvRichTextString.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvRow.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvSheet.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/csv/CsvWorkbook.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/CellData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/ClientAnchorData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/CommentData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/CoordinateData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/DataFormatData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/FormulaData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/HyperlinkData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/ImageData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/ReadCellData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/RichTextStringData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/data/WriteCellData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/format/DataFormatter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/format/ExcelGeneralNumberFormat.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/ColumnWidthProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/DateTimeFormatProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/FontProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/LoopMergeProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/NumberFormatProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/OnceAbsoluteMergeProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/RowHeightProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/metadata/property/StyleProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/listener/IgnoreExceptionReadListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/listener/PageReadListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/listener/ReadListener.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/ReadBasicParameter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/ReadSheet.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/AbstractReadHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/ReadHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/ReadRowHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/ReadSheetHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadSheetHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadSheetHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadWorkbookHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadSheetHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/metadata/property/ExcelReadHeadProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/processor/AnalysisEventProcessor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/support/ExcelTypeEnum.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/BeanMapUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/BooleanUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/ClassUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/ConverterUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/DateUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/FieldUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/FileTypeUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/FileUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/IntUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/IoUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/ListUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/MapUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/MemberUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/NumberDataFormatterUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/NumberUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/PositionUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/SheetUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/StringUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/StyleUtil.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/Validate.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/WorkBookUtil.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/util/WriteHandlerUtils.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/ExcelBuilder.java (98%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/executor/AbstractExcelWriteExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/executor/ExcelWriteExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/AbstractCellWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/AbstractRowWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/AbstractSheetWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/AbstractWorkbookWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/CellWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/DefaultWriteHandlerLoader.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/RowWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/SheetWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/WorkbookWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/WriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/chain/CellHandlerExecutionChain.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/chain/RowHandlerExecutionChain.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/chain/SheetHandlerExecutionChain.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/chain/WorkbookHandlerExecutionChain.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/context/CellWriteHandlerContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/context/RowWriteHandlerContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/context/SheetWriteHandlerContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/context/WorkbookWriteHandlerContext.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/impl/DefaultRowWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/impl/DimensionWorkbookWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/handler/impl/FillStyleCellWriteHandler.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/merge/AbstractMergeStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java (96%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/CollectionRowData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/MapRowData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/RowData.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/WriteBasicParameter.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/WriteSheet.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/WriteTable.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/WriteWorkbook.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/fill/AnalysisCell.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/fill/FillConfig.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/fill/FillWrapper.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/holder/AbstractWriteHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/holder/WriteHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/holder/WriteSheetHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/holder/WriteTableHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/holder/WriteWorkbookHolder.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/style/WriteCellStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/metadata/style/WriteFont.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/AbstractCellStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/AbstractVerticalCellStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/DefaultStyle.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/HorizontalCellStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/column/AbstractColumnWidthStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/column/AbstractHeadColumnWidthStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/row/AbstractRowHeightStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java (100%) rename {src => easyexcel-core/src}/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java (89%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java (91%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java (90%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/CamlData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/LockData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/LockTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/StyleData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java (97%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java (97%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java (97%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java (95%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java (97%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java (97%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java (96%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java (100%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java (90%) rename {src => easyexcel-core/src}/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java (100%) rename {src => easyexcel-core/src}/test/resources/converter/converter03.xls (100%) rename {src => easyexcel-core/src}/test/resources/converter/converter07.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/converter/converterCsv.csv (100%) rename {src => easyexcel-core/src}/test/resources/converter/img.jpg (100%) rename {src => easyexcel-core/src}/test/resources/dataformat/dataformat.xls (100%) rename {src => easyexcel-core/src}/test/resources/dataformat/dataformat.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/cellDataDemo.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/demo.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/extra.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/fill/complex.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/fill/complexFillWithTable.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/fill/composite.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/fill/horizontal.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/fill/list.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/demo/fill/simple.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/extra/extra.xls (100%) rename {src => easyexcel-core/src}/test/resources/extra/extra.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/annotation.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/annotation.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/byName.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/byName.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/complex.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/complex.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/composite.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/composite.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/horizontal.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/horizontal.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/simple.csv (100%) rename {src => easyexcel-core/src}/test/resources/fill/simple.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/simple.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/fill/style.xls (100%) rename {src => easyexcel-core/src}/test/resources/fill/style.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/large/fill.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/large/large07.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/logback.xml (100%) rename {src => easyexcel-core/src}/test/resources/multiplesheets/multiplesheets.xls (100%) rename {src => easyexcel-core/src}/test/resources/multiplesheets/multiplesheets.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/simple/simple07.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/temp/issue1663/template.xlsx (100%) rename {src => easyexcel-core/src}/test/resources/template/template03.xls (100%) rename {src => easyexcel-core/src}/test/resources/template/template07.xlsx (100%) create mode 100644 easyexcel-support/README.md create mode 100644 easyexcel-support/pom.xml diff --git a/README.md b/README.md index dfc6f145..ea6a4f8d 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 姬朋飞(玉霄)、庄家钜、怀宇 ## 快速开始 ### 读Excel -DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/demo/read/ReadTest.java](/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java) +DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/demo/read/ReadTest.java](/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java) ```java /** @@ -86,7 +86,7 @@ DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/ja ``` ### 写Excel -DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java](/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java) +DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java](/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java) ```java /** * 最简单的写 @@ -103,7 +103,7 @@ DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/ja ``` ### web上传、下载 -DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java](/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java) +DEMO代码地址:[https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java](/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java) ```java /** * 文件下载(失败了会返回一个有部分数据的Excel) diff --git a/easyexcel-core/pom.xml b/easyexcel-core/pom.xml new file mode 100644 index 00000000..06724d97 --- /dev/null +++ b/easyexcel-core/pom.xml @@ -0,0 +1,39 @@ + + + 4.0.0 + + + com.alibaba + easyexcel-parent + ${revision} + ../pom.xml + + + easyexcel-core + + + + + org.apache.poi + poi + + + org.apache.poi + poi-ooxml + + + org.apache.poi + poi-ooxml-schemas + + + org.apache.commons + commons-csv + + + org.ehcache + ehcache + + + diff --git a/src/main/java/com/alibaba/excel/EasyExcel.java b/easyexcel-core/src/main/java/com/alibaba/excel/EasyExcel.java similarity index 100% rename from src/main/java/com/alibaba/excel/EasyExcel.java rename to easyexcel-core/src/main/java/com/alibaba/excel/EasyExcel.java diff --git a/src/main/java/com/alibaba/excel/EasyExcelFactory.java b/easyexcel-core/src/main/java/com/alibaba/excel/EasyExcelFactory.java similarity index 100% rename from src/main/java/com/alibaba/excel/EasyExcelFactory.java rename to easyexcel-core/src/main/java/com/alibaba/excel/EasyExcelFactory.java diff --git a/src/main/java/com/alibaba/excel/ExcelReader.java b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java similarity index 100% rename from src/main/java/com/alibaba/excel/ExcelReader.java rename to easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java diff --git a/src/main/java/com/alibaba/excel/ExcelWriter.java b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java similarity index 100% rename from src/main/java/com/alibaba/excel/ExcelWriter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java diff --git a/src/main/java/com/alibaba/excel/analysis/ExcelAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyser.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/ExcelAnalyser.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyser.java diff --git a/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java diff --git a/src/main/java/com/alibaba/excel/analysis/ExcelReadExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelReadExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/ExcelReadExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelReadExecutor.java diff --git a/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/IgnorableXlsRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/IgnorableXlsRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/IgnorableXlsRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/IgnorableXlsRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/XlsRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/XlsRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/AbstractXlsRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/AbstractXlsRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/AbstractXlsRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/AbstractXlsRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BlankRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BofRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BofRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/BofRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BofRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoolErrRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoundSheetRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoundSheetRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/BoundSheetRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/BoundSheetRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/HyperlinkRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/HyperlinkRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/HyperlinkRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/HyperlinkRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/IndexRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/IndexRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/IndexRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/IndexRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/LabelSstRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/MergeCellsRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/MergeCellsRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/MergeCellsRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/MergeCellsRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/NoteRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/NoteRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/NoteRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/NoteRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/NumberRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/NumberRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/NumberRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/NumberRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/ObjRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/ObjRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/ObjRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/ObjRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/RkRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/RkRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/RkRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/RkRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/SstRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/SstRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/SstRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/SstRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/StringRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/StringRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/StringRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/StringRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v03/handlers/TextObjectRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/TextObjectRecordHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v03/handlers/TextObjectRecordHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/TextObjectRecordHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractCellValueTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractCellValueTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractCellValueTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractCellValueTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/AbstractXlsxTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellFormulaTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellFormulaTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/CellFormulaTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellFormulaTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellInlineStringValueTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellInlineStringValueTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/CellInlineStringValueTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellInlineStringValueTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellValueTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellValueTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/CellValueTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CellValueTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/CountTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CountTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/CountTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/CountTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/HyperlinkTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/HyperlinkTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/HyperlinkTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/HyperlinkTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/MergeCellTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/MergeCellTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/MergeCellTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/MergeCellTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/XlsxTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/XlsxTagHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/XlsxTagHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/XlsxTagHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java diff --git a/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java diff --git a/src/main/java/com/alibaba/excel/annotation/ExcelIgnore.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/ExcelIgnore.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/ExcelIgnore.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/ExcelIgnore.java diff --git a/src/main/java/com/alibaba/excel/annotation/ExcelIgnoreUnannotated.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/ExcelIgnoreUnannotated.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/ExcelIgnoreUnannotated.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/ExcelIgnoreUnannotated.java diff --git a/src/main/java/com/alibaba/excel/annotation/ExcelProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/ExcelProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/ExcelProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/ExcelProperty.java diff --git a/src/main/java/com/alibaba/excel/annotation/format/DateTimeFormat.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/format/DateTimeFormat.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/format/DateTimeFormat.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/format/DateTimeFormat.java diff --git a/src/main/java/com/alibaba/excel/annotation/format/NumberFormat.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/format/NumberFormat.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/format/NumberFormat.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/format/NumberFormat.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/ColumnWidth.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ColumnWidth.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/ColumnWidth.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ColumnWidth.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/ContentFontStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentFontStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/ContentFontStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentFontStyle.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/ContentLoopMerge.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentLoopMerge.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/ContentLoopMerge.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentLoopMerge.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/ContentRowHeight.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentRowHeight.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/ContentRowHeight.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentRowHeight.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/ContentStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/ContentStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/ContentStyle.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/HeadFontStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/HeadFontStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/HeadFontStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/HeadFontStyle.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/HeadRowHeight.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/HeadRowHeight.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/HeadRowHeight.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/HeadRowHeight.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/HeadStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/HeadStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/HeadStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/HeadStyle.java diff --git a/src/main/java/com/alibaba/excel/annotation/write/style/OnceAbsoluteMerge.java b/easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/OnceAbsoluteMerge.java similarity index 100% rename from src/main/java/com/alibaba/excel/annotation/write/style/OnceAbsoluteMerge.java rename to easyexcel-core/src/main/java/com/alibaba/excel/annotation/write/style/OnceAbsoluteMerge.java diff --git a/src/main/java/com/alibaba/excel/cache/Ehcache.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/Ehcache.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/Ehcache.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/Ehcache.java diff --git a/src/main/java/com/alibaba/excel/cache/MapCache.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/MapCache.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/MapCache.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/MapCache.java diff --git a/src/main/java/com/alibaba/excel/cache/ReadCache.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/ReadCache.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/ReadCache.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/ReadCache.java diff --git a/src/main/java/com/alibaba/excel/cache/XlsCache.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/XlsCache.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/XlsCache.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/XlsCache.java diff --git a/src/main/java/com/alibaba/excel/cache/selector/EternalReadCacheSelector.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/EternalReadCacheSelector.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/selector/EternalReadCacheSelector.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/EternalReadCacheSelector.java diff --git a/src/main/java/com/alibaba/excel/cache/selector/ReadCacheSelector.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/ReadCacheSelector.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/selector/ReadCacheSelector.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/ReadCacheSelector.java diff --git a/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java similarity index 100% rename from src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java rename to easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java diff --git a/src/main/java/com/alibaba/excel/constant/BuiltinFormats.java b/easyexcel-core/src/main/java/com/alibaba/excel/constant/BuiltinFormats.java similarity index 100% rename from src/main/java/com/alibaba/excel/constant/BuiltinFormats.java rename to easyexcel-core/src/main/java/com/alibaba/excel/constant/BuiltinFormats.java diff --git a/src/main/java/com/alibaba/excel/constant/ExcelXmlConstants.java b/easyexcel-core/src/main/java/com/alibaba/excel/constant/ExcelXmlConstants.java similarity index 100% rename from src/main/java/com/alibaba/excel/constant/ExcelXmlConstants.java rename to easyexcel-core/src/main/java/com/alibaba/excel/constant/ExcelXmlConstants.java diff --git a/src/main/java/com/alibaba/excel/constant/OrderConstant.java b/easyexcel-core/src/main/java/com/alibaba/excel/constant/OrderConstant.java similarity index 100% rename from src/main/java/com/alibaba/excel/constant/OrderConstant.java rename to easyexcel-core/src/main/java/com/alibaba/excel/constant/OrderConstant.java diff --git a/src/main/java/com/alibaba/excel/context/AnalysisContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/AnalysisContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContext.java diff --git a/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java diff --git a/src/main/java/com/alibaba/excel/context/WriteContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/WriteContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/WriteContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/WriteContext.java diff --git a/src/main/java/com/alibaba/excel/context/WriteContextImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/WriteContextImpl.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/WriteContextImpl.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/WriteContextImpl.java diff --git a/src/main/java/com/alibaba/excel/context/csv/CsvReadContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/csv/CsvReadContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/csv/CsvReadContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/csv/CsvReadContext.java diff --git a/src/main/java/com/alibaba/excel/context/csv/DefaultCsvReadContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/csv/DefaultCsvReadContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/csv/DefaultCsvReadContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/csv/DefaultCsvReadContext.java diff --git a/src/main/java/com/alibaba/excel/context/xls/DefaultXlsReadContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/xls/DefaultXlsReadContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/xls/DefaultXlsReadContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/xls/DefaultXlsReadContext.java diff --git a/src/main/java/com/alibaba/excel/context/xls/XlsReadContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/xls/XlsReadContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/xls/XlsReadContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/xls/XlsReadContext.java diff --git a/src/main/java/com/alibaba/excel/context/xlsx/DefaultXlsxReadContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/xlsx/DefaultXlsxReadContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/xlsx/DefaultXlsxReadContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/xlsx/DefaultXlsxReadContext.java diff --git a/src/main/java/com/alibaba/excel/context/xlsx/XlsxReadContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/xlsx/XlsxReadContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/context/xlsx/XlsxReadContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/context/xlsx/XlsxReadContext.java diff --git a/src/main/java/com/alibaba/excel/converters/AutoConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/AutoConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/AutoConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/AutoConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/Converter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/Converter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/Converter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/Converter.java diff --git a/src/main/java/com/alibaba/excel/converters/ConverterKeyBuild.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/ConverterKeyBuild.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/ConverterKeyBuild.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/ConverterKeyBuild.java diff --git a/src/main/java/com/alibaba/excel/converters/DefaultConverterLoader.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/DefaultConverterLoader.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/DefaultConverterLoader.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/DefaultConverterLoader.java diff --git a/src/main/java/com/alibaba/excel/converters/NullableObjectConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/NullableObjectConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/NullableObjectConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/NullableObjectConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/ReadConverterContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/ReadConverterContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/ReadConverterContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/ReadConverterContext.java diff --git a/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/WriteConverterContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/WriteConverterContext.java diff --git a/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/bigdecimal/BigDecimalStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/booleanconverter/BooleanStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/bytearray/BoxingByteArrayImageConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/bytearray/BoxingByteArrayImageConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/bytearray/BoxingByteArrayImageConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/bytearray/BoxingByteArrayImageConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/bytearray/ByteArrayImageConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/bytearray/ByteArrayImageConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/bytearray/ByteArrayImageConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/bytearray/ByteArrayImageConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/byteconverter/ByteBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/byteconverter/ByteBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/byteconverter/ByteBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/byteconverter/ByteBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/byteconverter/ByteNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/byteconverter/ByteNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/byteconverter/ByteNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/byteconverter/ByteNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/byteconverter/ByteStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/byteconverter/ByteStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/byteconverter/ByteStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/byteconverter/ByteStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/date/DateDateConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/date/DateDateConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/date/DateDateConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/date/DateDateConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/date/DateNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/date/DateNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/date/DateNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/date/DateNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/date/DateStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/date/DateStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/date/DateStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/date/DateStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/doubleconverter/DoubleStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/file/FileImageConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/file/FileImageConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/file/FileImageConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/file/FileImageConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/floatconverter/FloatBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/floatconverter/FloatBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/floatconverter/FloatBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/floatconverter/FloatBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/floatconverter/FloatNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/floatconverter/FloatNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/floatconverter/FloatNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/floatconverter/FloatNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/floatconverter/FloatStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/floatconverter/FloatStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/floatconverter/FloatStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/floatconverter/FloatStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/inputstream/InputStreamImageConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/inputstream/InputStreamImageConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/inputstream/InputStreamImageConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/inputstream/InputStreamImageConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/integer/IntegerBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/integer/IntegerBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/integer/IntegerBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/integer/IntegerBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/integer/IntegerNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/integer/IntegerNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/integer/IntegerNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/integer/IntegerNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/integer/IntegerStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/integer/IntegerStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/integer/IntegerStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/integer/IntegerStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeDateConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeDateConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeDateConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeDateConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/localdatetime/LocalDateTimeStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/longconverter/LongBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/longconverter/LongBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/longconverter/LongBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/longconverter/LongBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/longconverter/LongNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/longconverter/LongNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/longconverter/LongNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/longconverter/LongNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/longconverter/LongStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/longconverter/LongStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/longconverter/LongStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/longconverter/LongStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/shortconverter/ShortBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/shortconverter/ShortBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/shortconverter/ShortBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/shortconverter/ShortBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/shortconverter/ShortNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/shortconverter/ShortNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/shortconverter/ShortNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/shortconverter/ShortNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/shortconverter/ShortStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/shortconverter/ShortStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/shortconverter/ShortStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/shortconverter/ShortStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/string/StringBooleanConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringBooleanConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/string/StringBooleanConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringBooleanConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/string/StringErrorConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringErrorConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/string/StringErrorConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringErrorConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/string/StringImageConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringImageConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/string/StringImageConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringImageConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/string/StringNumberConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringNumberConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/string/StringNumberConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringNumberConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/string/StringStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringStringConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/string/StringStringConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/string/StringStringConverter.java diff --git a/src/main/java/com/alibaba/excel/converters/url/UrlImageConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/url/UrlImageConverter.java similarity index 100% rename from src/main/java/com/alibaba/excel/converters/url/UrlImageConverter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/converters/url/UrlImageConverter.java diff --git a/src/main/java/com/alibaba/excel/enums/BooleanEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/BooleanEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/BooleanEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/BooleanEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/CellDataTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/CellDataTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/CellDataTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/CellDataTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/CellExtraTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/CellExtraTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/CellExtraTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/CellExtraTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/HeadKindEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/HeadKindEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/HeadKindEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/HeadKindEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/HolderEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/HolderEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/HolderEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/HolderEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/NumericCellTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/NumericCellTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/NumericCellTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/NumericCellTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/RowTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/RowTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/RowTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/RowTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/WriteDirectionEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteDirectionEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/WriteDirectionEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteDirectionEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/WriteLastRowTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteLastRowTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/WriteLastRowTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteLastRowTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/WriteTemplateAnalysisCellTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteTemplateAnalysisCellTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/WriteTemplateAnalysisCellTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteTemplateAnalysisCellTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/WriteTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/WriteTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/WriteTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/poi/BorderStyleEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/BorderStyleEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/poi/BorderStyleEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/BorderStyleEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/poi/FillPatternTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/FillPatternTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/poi/FillPatternTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/FillPatternTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/poi/HorizontalAlignmentEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/HorizontalAlignmentEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/poi/HorizontalAlignmentEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/HorizontalAlignmentEnum.java diff --git a/src/main/java/com/alibaba/excel/enums/poi/VerticalAlignmentEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/VerticalAlignmentEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/enums/poi/VerticalAlignmentEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/enums/poi/VerticalAlignmentEnum.java diff --git a/src/main/java/com/alibaba/excel/event/AbstractIgnoreExceptionReadListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/AbstractIgnoreExceptionReadListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/AbstractIgnoreExceptionReadListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/AbstractIgnoreExceptionReadListener.java diff --git a/src/main/java/com/alibaba/excel/event/AnalysisEventListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/AnalysisEventListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/AnalysisEventListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/AnalysisEventListener.java diff --git a/src/main/java/com/alibaba/excel/event/Handler.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/Handler.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/Handler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/Handler.java diff --git a/src/main/java/com/alibaba/excel/event/Listener.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/Listener.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/Listener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/Listener.java diff --git a/src/main/java/com/alibaba/excel/event/NotRepeatExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/NotRepeatExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/NotRepeatExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/NotRepeatExecutor.java diff --git a/src/main/java/com/alibaba/excel/event/Order.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/Order.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/Order.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/Order.java diff --git a/src/main/java/com/alibaba/excel/event/SyncReadListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/event/SyncReadListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/event/SyncReadListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/event/SyncReadListener.java diff --git a/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java similarity index 100% rename from src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java rename to easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java diff --git a/src/main/java/com/alibaba/excel/exception/ExcelAnalysisStopException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisStopException.java similarity index 100% rename from src/main/java/com/alibaba/excel/exception/ExcelAnalysisStopException.java rename to easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisStopException.java diff --git a/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java similarity index 100% rename from src/main/java/com/alibaba/excel/exception/ExcelCommonException.java rename to easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java diff --git a/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java similarity index 100% rename from src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java rename to easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java diff --git a/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java similarity index 100% rename from src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java rename to easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java diff --git a/src/main/java/com/alibaba/excel/exception/ExcelWriteDataConvertException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelWriteDataConvertException.java similarity index 100% rename from src/main/java/com/alibaba/excel/exception/ExcelWriteDataConvertException.java rename to easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelWriteDataConvertException.java diff --git a/src/main/java/com/alibaba/excel/metadata/AbstractCell.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractCell.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/AbstractCell.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractCell.java diff --git a/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/AbstractHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java diff --git a/src/main/java/com/alibaba/excel/metadata/AbstractParameterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractParameterBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/AbstractParameterBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractParameterBuilder.java diff --git a/src/main/java/com/alibaba/excel/metadata/BasicParameter.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/BasicParameter.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/BasicParameter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/BasicParameter.java diff --git a/src/main/java/com/alibaba/excel/metadata/Cell.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/Cell.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/Cell.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/Cell.java diff --git a/src/main/java/com/alibaba/excel/metadata/CellExtra.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/CellExtra.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/CellExtra.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/CellExtra.java diff --git a/src/main/java/com/alibaba/excel/metadata/CellRange.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/CellRange.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/CellRange.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/CellRange.java diff --git a/src/main/java/com/alibaba/excel/metadata/ConfigurationHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/ConfigurationHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/ConfigurationHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/ConfigurationHolder.java diff --git a/src/main/java/com/alibaba/excel/metadata/Font.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/Font.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/Font.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/Font.java diff --git a/src/main/java/com/alibaba/excel/metadata/GlobalConfiguration.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/GlobalConfiguration.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/GlobalConfiguration.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/GlobalConfiguration.java diff --git a/src/main/java/com/alibaba/excel/metadata/Head.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/Head.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/Head.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/Head.java diff --git a/src/main/java/com/alibaba/excel/metadata/Holder.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/Holder.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/Holder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/Holder.java diff --git a/src/main/java/com/alibaba/excel/metadata/NullObject.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/NullObject.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/NullObject.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/NullObject.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvCell.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvCell.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvCell.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvCell.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvCellStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvCellStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvCellStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvCellStyle.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvDataFormat.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvRichTextString.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvRichTextString.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvRichTextString.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvRichTextString.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvRow.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvRow.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvRow.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvRow.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvSheet.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvSheet.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvSheet.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvSheet.java diff --git a/src/main/java/com/alibaba/excel/metadata/csv/CsvWorkbook.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvWorkbook.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/csv/CsvWorkbook.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/csv/CsvWorkbook.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/CellData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/CellData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/CellData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/CellData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/ClientAnchorData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/ClientAnchorData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/ClientAnchorData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/ClientAnchorData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/CommentData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/CommentData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/CommentData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/CommentData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/CoordinateData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/CoordinateData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/CoordinateData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/CoordinateData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/DataFormatData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/DataFormatData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/DataFormatData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/DataFormatData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/FormulaData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/FormulaData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/FormulaData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/FormulaData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/HyperlinkData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/HyperlinkData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/HyperlinkData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/HyperlinkData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/ImageData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/ImageData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/ImageData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/ImageData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/ReadCellData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/ReadCellData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/ReadCellData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/ReadCellData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/RichTextStringData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/RichTextStringData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/RichTextStringData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/RichTextStringData.java diff --git a/src/main/java/com/alibaba/excel/metadata/data/WriteCellData.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/WriteCellData.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/data/WriteCellData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/data/WriteCellData.java diff --git a/src/main/java/com/alibaba/excel/metadata/format/DataFormatter.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/format/DataFormatter.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/format/DataFormatter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/format/DataFormatter.java diff --git a/src/main/java/com/alibaba/excel/metadata/format/ExcelGeneralNumberFormat.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/format/ExcelGeneralNumberFormat.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/format/ExcelGeneralNumberFormat.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/format/ExcelGeneralNumberFormat.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/ColumnWidthProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ColumnWidthProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/ColumnWidthProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ColumnWidthProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/DateTimeFormatProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/DateTimeFormatProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/DateTimeFormatProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/DateTimeFormatProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/FontProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/FontProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/FontProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/FontProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/LoopMergeProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/LoopMergeProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/LoopMergeProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/LoopMergeProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/NumberFormatProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/NumberFormatProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/NumberFormatProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/NumberFormatProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/OnceAbsoluteMergeProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/OnceAbsoluteMergeProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/OnceAbsoluteMergeProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/OnceAbsoluteMergeProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/RowHeightProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/RowHeightProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/RowHeightProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/RowHeightProperty.java diff --git a/src/main/java/com/alibaba/excel/metadata/property/StyleProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/StyleProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/metadata/property/StyleProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/StyleProperty.java diff --git a/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/builder/AbstractExcelReaderParameterBuilder.java diff --git a/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java diff --git a/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java diff --git a/src/main/java/com/alibaba/excel/read/listener/IgnoreExceptionReadListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/IgnoreExceptionReadListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/listener/IgnoreExceptionReadListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/listener/IgnoreExceptionReadListener.java diff --git a/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java diff --git a/src/main/java/com/alibaba/excel/read/listener/PageReadListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/PageReadListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/listener/PageReadListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/listener/PageReadListener.java diff --git a/src/main/java/com/alibaba/excel/read/listener/ReadListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ReadListener.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/listener/ReadListener.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ReadListener.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/ReadBasicParameter.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/ReadBasicParameter.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/ReadBasicParameter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/ReadBasicParameter.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/ReadSheet.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/ReadSheet.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/ReadSheet.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/ReadSheet.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/ReadWorkbook.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/AbstractReadHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/AbstractReadHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/AbstractReadHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/AbstractReadHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/ReadHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/ReadHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/ReadRowHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadRowHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/ReadRowHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadRowHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/ReadSheetHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadSheetHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/ReadSheetHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadSheetHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadSheetHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadSheetHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadSheetHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadSheetHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadSheetHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadSheetHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadSheetHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadSheetHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadWorkbookHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadWorkbookHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xls/XlsReadWorkbookHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadSheetHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadSheetHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadSheetHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadSheetHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/xlsx/XlsxReadWorkbookHolder.java diff --git a/src/main/java/com/alibaba/excel/read/metadata/property/ExcelReadHeadProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/property/ExcelReadHeadProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/metadata/property/ExcelReadHeadProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/property/ExcelReadHeadProperty.java diff --git a/src/main/java/com/alibaba/excel/read/processor/AnalysisEventProcessor.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/processor/AnalysisEventProcessor.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/processor/AnalysisEventProcessor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/processor/AnalysisEventProcessor.java diff --git a/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java similarity index 100% rename from src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/read/processor/DefaultAnalysisEventProcessor.java diff --git a/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java similarity index 100% rename from src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java rename to easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java diff --git a/src/main/java/com/alibaba/excel/util/BeanMapUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/BeanMapUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java diff --git a/src/main/java/com/alibaba/excel/util/BooleanUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/BooleanUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/BooleanUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/BooleanUtils.java diff --git a/src/main/java/com/alibaba/excel/util/ClassUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/ClassUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java diff --git a/src/main/java/com/alibaba/excel/util/ConverterUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ConverterUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/ConverterUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/ConverterUtils.java diff --git a/src/main/java/com/alibaba/excel/util/DateUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/DateUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/DateUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/DateUtils.java diff --git a/src/main/java/com/alibaba/excel/util/FieldUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/FieldUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java diff --git a/src/main/java/com/alibaba/excel/util/FileTypeUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/FileTypeUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/FileTypeUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/FileTypeUtils.java diff --git a/src/main/java/com/alibaba/excel/util/FileUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/FileUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/FileUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/FileUtils.java diff --git a/src/main/java/com/alibaba/excel/util/IntUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/IntUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/IntUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/IntUtils.java diff --git a/src/main/java/com/alibaba/excel/util/IoUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/IoUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/IoUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/IoUtils.java diff --git a/src/main/java/com/alibaba/excel/util/ListUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ListUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/ListUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/ListUtils.java diff --git a/src/main/java/com/alibaba/excel/util/MapUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/MapUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/MapUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/MapUtils.java diff --git a/src/main/java/com/alibaba/excel/util/MemberUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/MemberUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/MemberUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/MemberUtils.java diff --git a/src/main/java/com/alibaba/excel/util/NumberDataFormatterUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/NumberDataFormatterUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/NumberDataFormatterUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/NumberDataFormatterUtils.java diff --git a/src/main/java/com/alibaba/excel/util/NumberUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/NumberUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/NumberUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/NumberUtils.java diff --git a/src/main/java/com/alibaba/excel/util/PositionUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/PositionUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/PositionUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/PositionUtils.java diff --git a/src/main/java/com/alibaba/excel/util/SheetUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/SheetUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/SheetUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/SheetUtils.java diff --git a/src/main/java/com/alibaba/excel/util/StringUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/StringUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/StringUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/StringUtils.java diff --git a/src/main/java/com/alibaba/excel/util/StyleUtil.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/StyleUtil.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/StyleUtil.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/StyleUtil.java diff --git a/src/main/java/com/alibaba/excel/util/Validate.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/Validate.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/Validate.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/Validate.java diff --git a/src/main/java/com/alibaba/excel/util/WorkBookUtil.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/WorkBookUtil.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/WorkBookUtil.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/WorkBookUtil.java diff --git a/src/main/java/com/alibaba/excel/util/WriteHandlerUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/WriteHandlerUtils.java similarity index 100% rename from src/main/java/com/alibaba/excel/util/WriteHandlerUtils.java rename to easyexcel-core/src/main/java/com/alibaba/excel/util/WriteHandlerUtils.java diff --git a/src/main/java/com/alibaba/excel/write/ExcelBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilder.java similarity index 98% rename from src/main/java/com/alibaba/excel/write/ExcelBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilder.java index a9f7e601..6a323388 100644 --- a/src/main/java/com/alibaba/excel/write/ExcelBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilder.java @@ -1,7 +1,6 @@ package com.alibaba.excel.write; import java.util.Collection; -import java.util.List; import com.alibaba.excel.context.WriteContext; import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy; diff --git a/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java diff --git a/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java diff --git a/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java diff --git a/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java diff --git a/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java diff --git a/src/main/java/com/alibaba/excel/write/executor/AbstractExcelWriteExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/AbstractExcelWriteExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/executor/AbstractExcelWriteExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/executor/AbstractExcelWriteExecutor.java diff --git a/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java diff --git a/src/main/java/com/alibaba/excel/write/executor/ExcelWriteExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/executor/ExcelWriteExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteExecutor.java diff --git a/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java diff --git a/src/main/java/com/alibaba/excel/write/handler/AbstractCellWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractCellWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/AbstractCellWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractCellWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/AbstractRowWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractRowWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/AbstractRowWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractRowWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/AbstractSheetWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractSheetWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/AbstractSheetWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractSheetWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/AbstractWorkbookWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractWorkbookWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/AbstractWorkbookWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/AbstractWorkbookWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/CellWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/CellWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/CellWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/CellWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/DefaultWriteHandlerLoader.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/DefaultWriteHandlerLoader.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/DefaultWriteHandlerLoader.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/DefaultWriteHandlerLoader.java diff --git a/src/main/java/com/alibaba/excel/write/handler/RowWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/RowWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/RowWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/RowWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/SheetWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/SheetWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/SheetWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/SheetWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/WorkbookWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/WorkbookWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/WorkbookWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/WorkbookWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/WriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/WriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/WriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/WriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/chain/CellHandlerExecutionChain.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/CellHandlerExecutionChain.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/chain/CellHandlerExecutionChain.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/CellHandlerExecutionChain.java diff --git a/src/main/java/com/alibaba/excel/write/handler/chain/RowHandlerExecutionChain.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/RowHandlerExecutionChain.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/chain/RowHandlerExecutionChain.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/RowHandlerExecutionChain.java diff --git a/src/main/java/com/alibaba/excel/write/handler/chain/SheetHandlerExecutionChain.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/SheetHandlerExecutionChain.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/chain/SheetHandlerExecutionChain.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/SheetHandlerExecutionChain.java diff --git a/src/main/java/com/alibaba/excel/write/handler/chain/WorkbookHandlerExecutionChain.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/WorkbookHandlerExecutionChain.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/chain/WorkbookHandlerExecutionChain.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/chain/WorkbookHandlerExecutionChain.java diff --git a/src/main/java/com/alibaba/excel/write/handler/context/CellWriteHandlerContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/CellWriteHandlerContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/context/CellWriteHandlerContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/CellWriteHandlerContext.java diff --git a/src/main/java/com/alibaba/excel/write/handler/context/RowWriteHandlerContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/RowWriteHandlerContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/context/RowWriteHandlerContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/RowWriteHandlerContext.java diff --git a/src/main/java/com/alibaba/excel/write/handler/context/SheetWriteHandlerContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/SheetWriteHandlerContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/context/SheetWriteHandlerContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/SheetWriteHandlerContext.java diff --git a/src/main/java/com/alibaba/excel/write/handler/context/WorkbookWriteHandlerContext.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/WorkbookWriteHandlerContext.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/context/WorkbookWriteHandlerContext.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/context/WorkbookWriteHandlerContext.java diff --git a/src/main/java/com/alibaba/excel/write/handler/impl/DefaultRowWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/impl/DefaultRowWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/impl/DefaultRowWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/impl/DefaultRowWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/impl/DimensionWorkbookWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/impl/DimensionWorkbookWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/impl/DimensionWorkbookWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/impl/DimensionWorkbookWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/handler/impl/FillStyleCellWriteHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/handler/impl/FillStyleCellWriteHandler.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/handler/impl/FillStyleCellWriteHandler.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/handler/impl/FillStyleCellWriteHandler.java diff --git a/src/main/java/com/alibaba/excel/write/merge/AbstractMergeStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/AbstractMergeStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/merge/AbstractMergeStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/merge/AbstractMergeStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java similarity index 96% rename from src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java index 0fe3dd61..bd7b1836 100644 --- a/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java @@ -3,7 +3,6 @@ package com.alibaba.excel.write.merge; import org.apache.poi.ss.util.CellRangeAddress; import com.alibaba.excel.metadata.property.OnceAbsoluteMergeProperty; -import com.alibaba.excel.write.handler.AbstractSheetWriteHandler; import com.alibaba.excel.write.handler.SheetWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; diff --git a/src/main/java/com/alibaba/excel/write/metadata/CollectionRowData.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/CollectionRowData.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/CollectionRowData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/CollectionRowData.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/MapRowData.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/MapRowData.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/MapRowData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/MapRowData.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/RowData.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/RowData.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/RowData.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/RowData.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/WriteBasicParameter.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteBasicParameter.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/WriteBasicParameter.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteBasicParameter.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/WriteSheet.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteSheet.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/WriteSheet.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteSheet.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/WriteTable.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteTable.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/WriteTable.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteTable.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/WriteWorkbook.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteWorkbook.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/WriteWorkbook.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/WriteWorkbook.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/fill/AnalysisCell.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/fill/AnalysisCell.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/fill/AnalysisCell.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/fill/AnalysisCell.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/fill/FillConfig.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/fill/FillConfig.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/fill/FillConfig.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/fill/FillConfig.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/fill/FillWrapper.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/fill/FillWrapper.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/fill/FillWrapper.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/fill/FillWrapper.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/holder/AbstractWriteHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/AbstractWriteHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/holder/AbstractWriteHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/AbstractWriteHolder.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/holder/WriteHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/holder/WriteHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteHolder.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/holder/WriteSheetHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteSheetHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/holder/WriteSheetHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteSheetHolder.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/holder/WriteTableHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteTableHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/holder/WriteTableHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteTableHolder.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/holder/WriteWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteWorkbookHolder.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/holder/WriteWorkbookHolder.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/holder/WriteWorkbookHolder.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/style/WriteCellStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/style/WriteCellStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/style/WriteCellStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/style/WriteCellStyle.java diff --git a/src/main/java/com/alibaba/excel/write/metadata/style/WriteFont.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/style/WriteFont.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/metadata/style/WriteFont.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/metadata/style/WriteFont.java diff --git a/src/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java diff --git a/src/main/java/com/alibaba/excel/write/style/AbstractCellStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/AbstractCellStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/AbstractCellStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/AbstractCellStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/AbstractVerticalCellStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/AbstractVerticalCellStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/AbstractVerticalCellStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/AbstractVerticalCellStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/DefaultStyle.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/DefaultStyle.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/DefaultStyle.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/DefaultStyle.java diff --git a/src/main/java/com/alibaba/excel/write/style/HorizontalCellStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/HorizontalCellStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/HorizontalCellStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/HorizontalCellStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/column/AbstractColumnWidthStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/AbstractColumnWidthStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/column/AbstractColumnWidthStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/AbstractColumnWidthStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/column/AbstractHeadColumnWidthStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/AbstractHeadColumnWidthStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/column/AbstractHeadColumnWidthStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/AbstractHeadColumnWidthStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/LongestMatchColumnWidthStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/row/AbstractRowHeightStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/AbstractRowHeightStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/row/AbstractRowHeightStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/AbstractRowHeightStyleStrategy.java diff --git a/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java similarity index 100% rename from src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java rename to easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java diff --git a/src/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java b/easyexcel-core/src/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java similarity index 100% rename from src/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java rename to easyexcel-core/src/main/java/org/apache/poi/hssf/usermodel/PoiUtils.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java similarity index 89% rename from src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java index f414be28..d7b41582 100644 --- a/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java @@ -7,8 +7,6 @@ import org.junit.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.alibaba.easyexcel.test.core.parameter.ParameterData; -import com.alibaba.easyexcel.test.core.parameter.ParameterDataListener; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import com.alibaba.fastjson.JSON; diff --git a/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java similarity index 91% rename from src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java index 227bddfd..4a9df22f 100644 --- a/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java @@ -2,16 +2,13 @@ package com.alibaba.easyexcel.test.core.sort; import java.util.ArrayList; import java.util.List; -import java.util.Map; import org.junit.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.alibaba.easyexcel.test.core.simple.SimpleData; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; -import com.alibaba.fastjson.JSON; /** * @author Jiaju Zhuang diff --git a/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java similarity index 90% rename from src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java index eac96625..8c18484f 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java @@ -4,8 +4,6 @@ import java.util.List; import org.springframework.stereotype.Repository; -import com.alibaba.easyexcel.test.demo.read.DemoData; - /** * 假设这个是你的DAO存储。当然还要这个类让spring管理,当然你不用需要存储,也不需要这个类。 * diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/LockData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java similarity index 97% rename from src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java index cf815292..f9215d7b 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java @@ -13,8 +13,6 @@ import org.slf4j.LoggerFactory; import com.alibaba.easyexcel.test.demo.write.DemoData; import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.write.metadata.WriteSheet; import com.alibaba.excel.write.metadata.style.WriteCellStyle; import com.alibaba.excel.write.metadata.style.WriteFont; import com.alibaba.excel.write.style.HorizontalCellStyleStrategy; diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java similarity index 97% rename from src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java index 4ba065a3..43edce59 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java @@ -1,9 +1,7 @@ package com.alibaba.easyexcel.test.temp.cache; import java.io.File; -import java.io.IOException; import java.util.HashMap; -import java.util.Map; import java.util.UUID; import org.apache.poi.xssf.streaming.SXSSFRow; diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java similarity index 97% rename from src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java index a5b65565..500cc85f 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java @@ -1,6 +1,5 @@ package com.alibaba.easyexcel.test.temp.large; -import org.junit.Assert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java similarity index 95% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java index 0de7d9e7..6e1933ab 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java @@ -1,6 +1,5 @@ package com.alibaba.easyexcel.test.temp.poi; -import java.io.File; import java.io.IOException; import org.apache.poi.xssf.streaming.SXSSFRow; @@ -14,8 +13,6 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.alibaba.easyexcel.test.util.TestFileUtil; - /** * 测试poi * diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java similarity index 97% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java index 2ff3427d..1ea737c0 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java @@ -2,7 +2,6 @@ package com.alibaba.easyexcel.test.temp.poi; import java.io.File; import java.io.FileOutputStream; -import java.io.IOException; import java.io.OutputStream; import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey; @@ -30,7 +29,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.alibaba.easyexcel.test.util.TestFileUtil; -import com.alibaba.excel.util.FileUtils; /** * 测试poi diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java similarity index 97% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java index 2eb4d1ab..fbfde36f 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java @@ -12,7 +12,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.cache.MapCache; import com.alibaba.fastjson.JSON; /** diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java similarity index 96% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java index 517220e5..d7cf0080 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java @@ -2,7 +2,6 @@ package com.alibaba.easyexcel.test.temp.simple; import java.io.FileInputStream; import java.io.IOException; -import java.util.List; import org.junit.Ignore; import org.junit.Test; @@ -13,7 +12,6 @@ import com.alibaba.easyexcel.test.temp.LockData; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.ExcelReader; import com.alibaba.excel.read.metadata.ReadSheet; -import com.alibaba.fastjson.JSON; /** * 测试poi diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java similarity index 90% rename from src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java index a82543eb..1650c21a 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java @@ -1,6 +1,5 @@ package com.alibaba.easyexcel.test.temp.simple; -import com.alibaba.excel.write.handler.AbstractSheetWriteHandler; import com.alibaba.excel.write.handler.SheetWriteHandler; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder; diff --git a/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java rename to easyexcel-core/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java diff --git a/src/test/resources/converter/converter03.xls b/easyexcel-core/src/test/resources/converter/converter03.xls similarity index 100% rename from src/test/resources/converter/converter03.xls rename to easyexcel-core/src/test/resources/converter/converter03.xls diff --git a/src/test/resources/converter/converter07.xlsx b/easyexcel-core/src/test/resources/converter/converter07.xlsx similarity index 100% rename from src/test/resources/converter/converter07.xlsx rename to easyexcel-core/src/test/resources/converter/converter07.xlsx diff --git a/src/test/resources/converter/converterCsv.csv b/easyexcel-core/src/test/resources/converter/converterCsv.csv similarity index 100% rename from src/test/resources/converter/converterCsv.csv rename to easyexcel-core/src/test/resources/converter/converterCsv.csv diff --git a/src/test/resources/converter/img.jpg b/easyexcel-core/src/test/resources/converter/img.jpg similarity index 100% rename from src/test/resources/converter/img.jpg rename to easyexcel-core/src/test/resources/converter/img.jpg diff --git a/src/test/resources/dataformat/dataformat.xls b/easyexcel-core/src/test/resources/dataformat/dataformat.xls similarity index 100% rename from src/test/resources/dataformat/dataformat.xls rename to easyexcel-core/src/test/resources/dataformat/dataformat.xls diff --git a/src/test/resources/dataformat/dataformat.xlsx b/easyexcel-core/src/test/resources/dataformat/dataformat.xlsx similarity index 100% rename from src/test/resources/dataformat/dataformat.xlsx rename to easyexcel-core/src/test/resources/dataformat/dataformat.xlsx diff --git a/src/test/resources/demo/cellDataDemo.xlsx b/easyexcel-core/src/test/resources/demo/cellDataDemo.xlsx similarity index 100% rename from src/test/resources/demo/cellDataDemo.xlsx rename to easyexcel-core/src/test/resources/demo/cellDataDemo.xlsx diff --git a/src/test/resources/demo/demo.xlsx b/easyexcel-core/src/test/resources/demo/demo.xlsx similarity index 100% rename from src/test/resources/demo/demo.xlsx rename to easyexcel-core/src/test/resources/demo/demo.xlsx diff --git a/src/test/resources/demo/extra.xlsx b/easyexcel-core/src/test/resources/demo/extra.xlsx similarity index 100% rename from src/test/resources/demo/extra.xlsx rename to easyexcel-core/src/test/resources/demo/extra.xlsx diff --git a/src/test/resources/demo/fill/complex.xlsx b/easyexcel-core/src/test/resources/demo/fill/complex.xlsx similarity index 100% rename from src/test/resources/demo/fill/complex.xlsx rename to easyexcel-core/src/test/resources/demo/fill/complex.xlsx diff --git a/src/test/resources/demo/fill/complexFillWithTable.xlsx b/easyexcel-core/src/test/resources/demo/fill/complexFillWithTable.xlsx similarity index 100% rename from src/test/resources/demo/fill/complexFillWithTable.xlsx rename to easyexcel-core/src/test/resources/demo/fill/complexFillWithTable.xlsx diff --git a/src/test/resources/demo/fill/composite.xlsx b/easyexcel-core/src/test/resources/demo/fill/composite.xlsx similarity index 100% rename from src/test/resources/demo/fill/composite.xlsx rename to easyexcel-core/src/test/resources/demo/fill/composite.xlsx diff --git a/src/test/resources/demo/fill/horizontal.xlsx b/easyexcel-core/src/test/resources/demo/fill/horizontal.xlsx similarity index 100% rename from src/test/resources/demo/fill/horizontal.xlsx rename to easyexcel-core/src/test/resources/demo/fill/horizontal.xlsx diff --git a/src/test/resources/demo/fill/list.xlsx b/easyexcel-core/src/test/resources/demo/fill/list.xlsx similarity index 100% rename from src/test/resources/demo/fill/list.xlsx rename to easyexcel-core/src/test/resources/demo/fill/list.xlsx diff --git a/src/test/resources/demo/fill/simple.xlsx b/easyexcel-core/src/test/resources/demo/fill/simple.xlsx similarity index 100% rename from src/test/resources/demo/fill/simple.xlsx rename to easyexcel-core/src/test/resources/demo/fill/simple.xlsx diff --git a/src/test/resources/extra/extra.xls b/easyexcel-core/src/test/resources/extra/extra.xls similarity index 100% rename from src/test/resources/extra/extra.xls rename to easyexcel-core/src/test/resources/extra/extra.xls diff --git a/src/test/resources/extra/extra.xlsx b/easyexcel-core/src/test/resources/extra/extra.xlsx similarity index 100% rename from src/test/resources/extra/extra.xlsx rename to easyexcel-core/src/test/resources/extra/extra.xlsx diff --git a/src/test/resources/fill/annotation.xls b/easyexcel-core/src/test/resources/fill/annotation.xls similarity index 100% rename from src/test/resources/fill/annotation.xls rename to easyexcel-core/src/test/resources/fill/annotation.xls diff --git a/src/test/resources/fill/annotation.xlsx b/easyexcel-core/src/test/resources/fill/annotation.xlsx similarity index 100% rename from src/test/resources/fill/annotation.xlsx rename to easyexcel-core/src/test/resources/fill/annotation.xlsx diff --git a/src/test/resources/fill/byName.xls b/easyexcel-core/src/test/resources/fill/byName.xls similarity index 100% rename from src/test/resources/fill/byName.xls rename to easyexcel-core/src/test/resources/fill/byName.xls diff --git a/src/test/resources/fill/byName.xlsx b/easyexcel-core/src/test/resources/fill/byName.xlsx similarity index 100% rename from src/test/resources/fill/byName.xlsx rename to easyexcel-core/src/test/resources/fill/byName.xlsx diff --git a/src/test/resources/fill/complex.xls b/easyexcel-core/src/test/resources/fill/complex.xls similarity index 100% rename from src/test/resources/fill/complex.xls rename to easyexcel-core/src/test/resources/fill/complex.xls diff --git a/src/test/resources/fill/complex.xlsx b/easyexcel-core/src/test/resources/fill/complex.xlsx similarity index 100% rename from src/test/resources/fill/complex.xlsx rename to easyexcel-core/src/test/resources/fill/complex.xlsx diff --git a/src/test/resources/fill/composite.xls b/easyexcel-core/src/test/resources/fill/composite.xls similarity index 100% rename from src/test/resources/fill/composite.xls rename to easyexcel-core/src/test/resources/fill/composite.xls diff --git a/src/test/resources/fill/composite.xlsx b/easyexcel-core/src/test/resources/fill/composite.xlsx similarity index 100% rename from src/test/resources/fill/composite.xlsx rename to easyexcel-core/src/test/resources/fill/composite.xlsx diff --git a/src/test/resources/fill/horizontal.xls b/easyexcel-core/src/test/resources/fill/horizontal.xls similarity index 100% rename from src/test/resources/fill/horizontal.xls rename to easyexcel-core/src/test/resources/fill/horizontal.xls diff --git a/src/test/resources/fill/horizontal.xlsx b/easyexcel-core/src/test/resources/fill/horizontal.xlsx similarity index 100% rename from src/test/resources/fill/horizontal.xlsx rename to easyexcel-core/src/test/resources/fill/horizontal.xlsx diff --git a/src/test/resources/fill/simple.csv b/easyexcel-core/src/test/resources/fill/simple.csv similarity index 100% rename from src/test/resources/fill/simple.csv rename to easyexcel-core/src/test/resources/fill/simple.csv diff --git a/src/test/resources/fill/simple.xls b/easyexcel-core/src/test/resources/fill/simple.xls similarity index 100% rename from src/test/resources/fill/simple.xls rename to easyexcel-core/src/test/resources/fill/simple.xls diff --git a/src/test/resources/fill/simple.xlsx b/easyexcel-core/src/test/resources/fill/simple.xlsx similarity index 100% rename from src/test/resources/fill/simple.xlsx rename to easyexcel-core/src/test/resources/fill/simple.xlsx diff --git a/src/test/resources/fill/style.xls b/easyexcel-core/src/test/resources/fill/style.xls similarity index 100% rename from src/test/resources/fill/style.xls rename to easyexcel-core/src/test/resources/fill/style.xls diff --git a/src/test/resources/fill/style.xlsx b/easyexcel-core/src/test/resources/fill/style.xlsx similarity index 100% rename from src/test/resources/fill/style.xlsx rename to easyexcel-core/src/test/resources/fill/style.xlsx diff --git a/src/test/resources/large/fill.xlsx b/easyexcel-core/src/test/resources/large/fill.xlsx similarity index 100% rename from src/test/resources/large/fill.xlsx rename to easyexcel-core/src/test/resources/large/fill.xlsx diff --git a/src/test/resources/large/large07.xlsx b/easyexcel-core/src/test/resources/large/large07.xlsx similarity index 100% rename from src/test/resources/large/large07.xlsx rename to easyexcel-core/src/test/resources/large/large07.xlsx diff --git a/src/test/resources/logback.xml b/easyexcel-core/src/test/resources/logback.xml similarity index 100% rename from src/test/resources/logback.xml rename to easyexcel-core/src/test/resources/logback.xml diff --git a/src/test/resources/multiplesheets/multiplesheets.xls b/easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xls similarity index 100% rename from src/test/resources/multiplesheets/multiplesheets.xls rename to easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xls diff --git a/src/test/resources/multiplesheets/multiplesheets.xlsx b/easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xlsx similarity index 100% rename from src/test/resources/multiplesheets/multiplesheets.xlsx rename to easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xlsx diff --git a/src/test/resources/simple/simple07.xlsx b/easyexcel-core/src/test/resources/simple/simple07.xlsx similarity index 100% rename from src/test/resources/simple/simple07.xlsx rename to easyexcel-core/src/test/resources/simple/simple07.xlsx diff --git a/src/test/resources/temp/issue1663/template.xlsx b/easyexcel-core/src/test/resources/temp/issue1663/template.xlsx similarity index 100% rename from src/test/resources/temp/issue1663/template.xlsx rename to easyexcel-core/src/test/resources/temp/issue1663/template.xlsx diff --git a/src/test/resources/template/template03.xls b/easyexcel-core/src/test/resources/template/template03.xls similarity index 100% rename from src/test/resources/template/template03.xls rename to easyexcel-core/src/test/resources/template/template03.xls diff --git a/src/test/resources/template/template07.xlsx b/easyexcel-core/src/test/resources/template/template07.xlsx similarity index 100% rename from src/test/resources/template/template07.xlsx rename to easyexcel-core/src/test/resources/template/template07.xlsx diff --git a/easyexcel-support/README.md b/easyexcel-support/README.md new file mode 100644 index 00000000..580f05d0 --- /dev/null +++ b/easyexcel-support/README.md @@ -0,0 +1,3 @@ +# easyexcel-support + +外部依赖的代码,目前就一个cglib,由于cglib不支持jdk高版本,所以单独复制了一份 \ No newline at end of file diff --git a/easyexcel-support/pom.xml b/easyexcel-support/pom.xml new file mode 100644 index 00000000..6864f447 --- /dev/null +++ b/easyexcel-support/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + + com.alibaba + easyexcel-parent + ${revision} + ../pom.xml + + + easyexcel-support + + + + org.springframework + spring-core + + + + + + + + + org.apache.maven.plugins + maven-shade-plugin + + + package + + shade + + + + + cglib:cglib + + org/springframework/asm/** + org/springframework/cglib/** + + + + + + org.springframework + com.alibaba.easyexcel.support + + + + + + + + + diff --git a/pom.xml b/pom.xml index 3aa5fa65..ca60992a 100644 --- a/pom.xml +++ b/pom.xml @@ -3,18 +3,22 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.alibaba - easyexcel - 3.0.5 - jar - easyexcel - + easyexcel-parent + pom + ${revision} + easyexcel-parent easyexcel is a excel handle tools written in Java - https://github.com/alibaba/easyexcel 2018 + + easyexcel-core + easyexcel-support + + + 3.1.0 UTF-8 1.8 true @@ -26,13 +30,6 @@ scm:git:https://git@github.com/alibaba/easyexcel.git - - - - - - - Alibaba Group @@ -56,46 +53,96 @@ + + + + ossrh + https://oss.sonatype.org/content/repositories/snapshots + + + ossrh + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + + + + org.apache.poi + poi + 4.1.2 + + + org.apache.poi + poi-ooxml + 4.1.2 + + + org.apache.poi + poi-ooxml-schemas + 4.1.2 + + + org.apache.commons + commons-csv + 1.8 + + + org.slf4j + slf4j-api + 1.7.32 + + + org.ehcache + ehcache + 3.8.1 + + + org.projectlombok + lombok + 1.18.20 + + + + + org.springframework + spring-core + 5.3.15 + + + + + ch.qos.logback + logback-classic + 1.2.5 + + + com.alibaba + fastjson + 1.2.78 + + + org.springframework.boot + spring-boot-starter-web + 2.6.3 + + + junit + junit + 4.13.2 + + + + + - - org.apache.poi - poi - 4.1.2 - - - org.apache.poi - poi-ooxml - 4.1.2 - - - org.apache.poi - poi-ooxml-schemas - 4.1.2 - - - org.apache.commons - commons-csv - 1.8 - - - cglib - cglib - 3.3.0 - org.slf4j slf4j-api - 1.7.32 - - - org.ehcache - ehcache - 3.8.1 org.projectlombok lombok - 1.18.20 provided @@ -103,52 +150,91 @@ ch.qos.logback logback-classic - 1.2.5 test com.alibaba fastjson - 1.2.78 - test - - - org.springframework.boot - spring-boot - 2.5.4 test org.springframework.boot spring-boot-starter-web - 2.5.4 test junit junit - 4.13.2 test - - - ossrh - https://oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - + + + + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + + + org.apache.maven.plugins + maven-pmd-plugin + 3.8 + + + com.alibaba.p3c + p3c-pmd + 1.3.6 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + + org.apache.maven.plugins + maven-source-plugin + 3.2.1 + + + org.apache.maven.plugins + maven-gpg-plugin + 1.6 + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.0 + + + org.projectlombok + lombok-maven-plugin + 1.18.20.0 + + + org.apache.maven.plugins + maven-surefire-plugin + 2.22.2 + + + org.codehaus.mojo + flatten-maven-plugin + 1.2.7 + + + + + + org.apache.maven.plugins maven-pmd-plugin - 3.8 true true @@ -184,18 +270,10 @@ - - - com.alibaba.p3c - p3c-pmd - 1.3.6 - - org.apache.maven.plugins maven-compiler-plugin - 3.8.1 1.8 1.8 @@ -233,7 +311,6 @@ org.apache.maven.plugins maven-javadoc-plugin - 3.1.0 attach-javadocs @@ -246,7 +323,6 @@ org.projectlombok lombok-maven-plugin - 1.18.20.0 generate-sources @@ -259,7 +335,6 @@ org.apache.maven.plugins maven-surefire-plugin - 2.22.2 com/alibaba/easyexcel/test/core/**/*.java @@ -267,6 +342,30 @@ true + + org.codehaus.mojo + flatten-maven-plugin + + true + oss + + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + diff --git a/update.md b/update.md index 30e9fd0e..f6831f4b 100644 --- a/update.md +++ b/update.md @@ -1,3 +1,6 @@ +# 3.1.0 +* 去除cglib&asm依赖,改成重新拷贝一份 [Issue #2240](https://github.com/alibaba/easyexcel/issues/2240) + # 3.0.5 * 修复`ReadListener` 转换异常不抛出的问题 From 1372952139d3636593f9e37ca47f5ff03aae6ec5 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 9 Feb 2022 12:14:44 +0800 Subject: [PATCH 11/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-core/pom.xml | 4 + .../excel/metadata/AbstractHolder.java | 102 +----------------- .../com/alibaba/excel/util/BeanMapUtils.java | 12 +-- easyexcel-support/pom.xml | 16 ++- .../alibaba/excel/support/package-info.java | 4 + easyexcel/pom.xml | 23 ++++ .../java/com/alibaba/excel/package-info.java | 4 + pom.xml | 23 +++- .../easyexcel/test/demo/fill/FillTest.java | 3 + .../easyexcel/test/demo/read/ReadTest.java | 3 + .../easyexcel/test/demo/web/WebTest.java | 3 + .../easyexcel/test/demo/write/WriteTest.java | 3 + 12 files changed, 90 insertions(+), 110 deletions(-) create mode 100644 easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java create mode 100644 easyexcel/pom.xml create mode 100644 easyexcel/src/main/java/com/alibaba/excel/package-info.java create mode 100644 src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java create mode 100644 src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java create mode 100644 src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java create mode 100644 src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java diff --git a/easyexcel-core/pom.xml b/easyexcel-core/pom.xml index 06724d97..a42a36b9 100644 --- a/easyexcel-core/pom.xml +++ b/easyexcel-core/pom.xml @@ -15,6 +15,10 @@ + + com.alibaba + easyexcel-support + org.apache.poi poi diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java index 839a8b4b..a83f64a5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java @@ -1,103 +1,3 @@ -package com.alibaba.excel.metadata; - -import java.util.List; -import java.util.Map; - -import com.alibaba.excel.converters.Converter; -import com.alibaba.excel.converters.ConverterKeyBuild.ConverterKey; - -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; - /** - * Write/read holder - * - * @author Jiaju Zhuang + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java */ -@Getter -@Setter -@EqualsAndHashCode -@NoArgsConstructor -public abstract class AbstractHolder implements ConfigurationHolder { - /** - * Record whether it's new or from cache - */ - private Boolean newInitialization; - /** - * You can only choose one of the {@link AbstractHolder#head} and {@link AbstractHolder#clazz} - */ - private List> head; - /** - * You can only choose one of the {@link AbstractHolder#head} and {@link AbstractHolder#clazz} - */ - private Class clazz; - /** - * Some global variables - */ - private GlobalConfiguration globalConfiguration; - /** - *

- * Read key: - *

- * Write key: - */ - private Map> converterMap; - - public AbstractHolder(BasicParameter basicParameter, AbstractHolder prentAbstractHolder) { - this.newInitialization = Boolean.TRUE; - if (basicParameter.getHead() == null && basicParameter.getClazz() == null && prentAbstractHolder != null) { - this.head = prentAbstractHolder.getHead(); - } else { - this.head = basicParameter.getHead(); - } - if (basicParameter.getHead() == null && basicParameter.getClazz() == null && prentAbstractHolder != null) { - this.clazz = prentAbstractHolder.getClazz(); - } else { - this.clazz = basicParameter.getClazz(); - } - this.globalConfiguration = new GlobalConfiguration(); - if (basicParameter.getAutoTrim() == null) { - if (prentAbstractHolder != null) { - globalConfiguration.setAutoTrim(prentAbstractHolder.getGlobalConfiguration().getAutoTrim()); - } - } else { - globalConfiguration.setAutoTrim(basicParameter.getAutoTrim()); - } - - if (basicParameter.getUse1904windowing() == null) { - if (prentAbstractHolder != null) { - globalConfiguration.setUse1904windowing( - prentAbstractHolder.getGlobalConfiguration().getUse1904windowing()); - } - } else { - globalConfiguration.setUse1904windowing(basicParameter.getUse1904windowing()); - } - - if (basicParameter.getLocale() == null) { - if (prentAbstractHolder != null) { - globalConfiguration.setLocale(prentAbstractHolder.getGlobalConfiguration().getLocale()); - } - } else { - globalConfiguration.setLocale(basicParameter.getLocale()); - } - - } - - @Override - public Map> converterMap() { - return getConverterMap(); - } - - @Override - public GlobalConfiguration globalConfiguration() { - return getGlobalConfiguration(); - } - - @Override - public boolean isNew() { - return getNewInitialization(); - } - -} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java index eab4a70f..b089612b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java @@ -1,8 +1,7 @@ package com.alibaba.excel.util; -import net.sf.cglib.beans.BeanMap; -import net.sf.cglib.beans.BeanMap.Generator; -import net.sf.cglib.core.DefaultNamingPolicy; +import org.springframework.cglib.beans.BeanMap; +import org.springframework.cglib.core.DefaultNamingPolicy; /** * bean utils @@ -23,9 +22,10 @@ public class BeanMapUtils { * @return a new BeanMap instance */ public static BeanMap create(Object bean) { - Generator gen = new Generator(); - gen.setBean(bean); - gen.setNamingPolicy(EasyExcelNamingPolicy.INSTANCE); + BeanMap.Generator gen = new BeanMap.Generator(); + //gen.setBean(student); + //gen.setContextClass(Student.class); + BeanMap beanMap = gen.create(); return gen.create(); } diff --git a/easyexcel-support/pom.xml b/easyexcel-support/pom.xml index 6864f447..c689359a 100644 --- a/easyexcel-support/pom.xml +++ b/easyexcel-support/pom.xml @@ -34,9 +34,19 @@ shade + true + false + true + + true + + + org.springframework:spring-core + + - cglib:cglib + org.springframework:spring-core org/springframework/asm/** org/springframework/cglib/** @@ -53,6 +63,10 @@ + + org.codehaus.mojo + flatten-maven-plugin + diff --git a/easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java b/easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java new file mode 100644 index 00000000..35190378 --- /dev/null +++ b/easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java @@ -0,0 +1,4 @@ +/** + * + */ +package com.alibaba.excel.support; diff --git a/easyexcel/pom.xml b/easyexcel/pom.xml new file mode 100644 index 00000000..5d28b0d0 --- /dev/null +++ b/easyexcel/pom.xml @@ -0,0 +1,23 @@ + + + 4.0.0 + + + com.alibaba + easyexcel-parent + ${revision} + ../pom.xml + + + easyexcel + + + + com.alibaba + easyexcel-core + + + + diff --git a/easyexcel/src/main/java/com/alibaba/excel/package-info.java b/easyexcel/src/main/java/com/alibaba/excel/package-info.java new file mode 100644 index 00000000..7b3933ee --- /dev/null +++ b/easyexcel/src/main/java/com/alibaba/excel/package-info.java @@ -0,0 +1,4 @@ +/** + * + */ +package com.alibaba.excel; diff --git a/pom.xml b/pom.xml index ca60992a..b6d002d0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ easyexcel-core easyexcel-support + easyexcel @@ -67,6 +68,24 @@ + + com.alibaba + easyexcel + ${revision} + + + + com.alibaba + easyexcel-core + ${revision} + + + + com.alibaba + easyexcel-support + ${revision} + + org.apache.poi poi @@ -347,12 +366,12 @@ flatten-maven-plugin true - oss + resolveCiFriendliesOnly flatten - process-resources + package flatten diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java new file mode 100644 index 00000000..a83f64a5 --- /dev/null +++ b/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java @@ -0,0 +1,3 @@ +/** + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java + */ diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java new file mode 100644 index 00000000..5c7e8068 --- /dev/null +++ b/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java @@ -0,0 +1,3 @@ +/** + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java + */ diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java new file mode 100644 index 00000000..3c234d83 --- /dev/null +++ b/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java @@ -0,0 +1,3 @@ +/** + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java + */ diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java new file mode 100644 index 00000000..340d228f --- /dev/null +++ b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -0,0 +1,3 @@ +/** + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java + */ From b810b5c1388d72ced658f7ab5ca5cef5303bda21 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 9 Feb 2022 14:29:19 +0800 Subject: [PATCH 12/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../listener/ModelBuildEventListener.java | 2 +- .../com/alibaba/excel/util/BeanMapUtils.java | 6 ++-- .../write/executor/ExcelWriteAddExecutor.java | 2 +- .../easyexcel/test/temp/Xls03Test.java | 4 +-- pom.xml | 31 +++++++++++++++++++ 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java index 057919e9..44f77513 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/listener/ModelBuildEventListener.java @@ -15,8 +15,8 @@ import com.alibaba.excel.util.ClassUtils; import com.alibaba.excel.util.ConverterUtils; import com.alibaba.excel.util.MapUtils; -import net.sf.cglib.beans.BeanMap; import org.apache.commons.collections4.CollectionUtils; +import org.springframework.cglib.beans.BeanMap; /** * Convert to the object the user needs diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java index b089612b..30b2c692 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/BeanMapUtils.java @@ -23,9 +23,9 @@ public class BeanMapUtils { */ public static BeanMap create(Object bean) { BeanMap.Generator gen = new BeanMap.Generator(); - //gen.setBean(student); - //gen.setContextClass(Student.class); - BeanMap beanMap = gen.create(); + gen.setBean(bean); + gen.setContextClass(bean.getClass()); + gen.setNamingPolicy(EasyExcelNamingPolicy.INSTANCE); return gen.create(); } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java index 0bb4007c..459f0a7a 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java @@ -25,10 +25,10 @@ import com.alibaba.excel.write.metadata.RowData; import com.alibaba.excel.write.metadata.holder.WriteHolder; import com.alibaba.excel.write.metadata.holder.WriteSheetHolder; -import net.sf.cglib.beans.BeanMap; import org.apache.commons.collections4.CollectionUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; +import org.springframework.cglib.beans.BeanMap; /** * Add the data into excel diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java index 906c092e..ffb590ee 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java @@ -6,12 +6,12 @@ import com.alibaba.excel.EasyExcel; import com.alibaba.excel.util.BeanMapUtils; import com.alibaba.fastjson.JSON; -import net.sf.cglib.beans.BeanMap; -import net.sf.cglib.core.DebuggingClassWriter; import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.cglib.beans.BeanMap; +import org.springframework.cglib.core.DebuggingClassWriter; /** * 临时测试 diff --git a/pom.xml b/pom.xml index b6d002d0..cf150db3 100644 --- a/pom.xml +++ b/pom.xml @@ -385,6 +385,37 @@ + + + org.apache.maven.plugins + maven-shade-plugin + + + package + + shade + + + false + + + org.springframework:spring-core + + org/springframework/asm/** + org/springframework/cglib/** + + + + + + org.springframework + com.alibaba.easyexcel.support + + + + + + From 318a7ad950353460e79d67533a406500bbacff81 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 9 Feb 2022 14:31:01 +0800 Subject: [PATCH 13/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/metadata/AbstractHolder.java | 102 +++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java index a83f64a5..839a8b4b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/AbstractHolder.java @@ -1,3 +1,103 @@ +package com.alibaba.excel.metadata; + +import java.util.List; +import java.util.Map; + +import com.alibaba.excel.converters.Converter; +import com.alibaba.excel.converters.ConverterKeyBuild.ConverterKey; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + /** - * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java + * Write/read holder + * + * @author Jiaju Zhuang */ +@Getter +@Setter +@EqualsAndHashCode +@NoArgsConstructor +public abstract class AbstractHolder implements ConfigurationHolder { + /** + * Record whether it's new or from cache + */ + private Boolean newInitialization; + /** + * You can only choose one of the {@link AbstractHolder#head} and {@link AbstractHolder#clazz} + */ + private List> head; + /** + * You can only choose one of the {@link AbstractHolder#head} and {@link AbstractHolder#clazz} + */ + private Class clazz; + /** + * Some global variables + */ + private GlobalConfiguration globalConfiguration; + /** + *

+ * Read key: + *

+ * Write key: + */ + private Map> converterMap; + + public AbstractHolder(BasicParameter basicParameter, AbstractHolder prentAbstractHolder) { + this.newInitialization = Boolean.TRUE; + if (basicParameter.getHead() == null && basicParameter.getClazz() == null && prentAbstractHolder != null) { + this.head = prentAbstractHolder.getHead(); + } else { + this.head = basicParameter.getHead(); + } + if (basicParameter.getHead() == null && basicParameter.getClazz() == null && prentAbstractHolder != null) { + this.clazz = prentAbstractHolder.getClazz(); + } else { + this.clazz = basicParameter.getClazz(); + } + this.globalConfiguration = new GlobalConfiguration(); + if (basicParameter.getAutoTrim() == null) { + if (prentAbstractHolder != null) { + globalConfiguration.setAutoTrim(prentAbstractHolder.getGlobalConfiguration().getAutoTrim()); + } + } else { + globalConfiguration.setAutoTrim(basicParameter.getAutoTrim()); + } + + if (basicParameter.getUse1904windowing() == null) { + if (prentAbstractHolder != null) { + globalConfiguration.setUse1904windowing( + prentAbstractHolder.getGlobalConfiguration().getUse1904windowing()); + } + } else { + globalConfiguration.setUse1904windowing(basicParameter.getUse1904windowing()); + } + + if (basicParameter.getLocale() == null) { + if (prentAbstractHolder != null) { + globalConfiguration.setLocale(prentAbstractHolder.getGlobalConfiguration().getLocale()); + } + } else { + globalConfiguration.setLocale(basicParameter.getLocale()); + } + + } + + @Override + public Map> converterMap() { + return getConverterMap(); + } + + @Override + public GlobalConfiguration globalConfiguration() { + return getGlobalConfiguration(); + } + + @Override + public boolean isNew() { + return getNewInitialization(); + } + +} From a038ec2df1cf1b443c8ca6d3bb8210cadc487515 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 10 Feb 2022 15:48:35 +0800 Subject: [PATCH 14/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + easyexcel-core/pom.xml | 2 +- .../com/alibaba/excel/util/ClassUtils.java | 2 +- .../com/alibaba/excel/util/FieldUtils.java | 2 +- easyexcel-support/pom.xml | 34 ++++++-- easyexcel/pom.xml | 2 + pom.xml | 80 +++++++++---------- 7 files changed, 73 insertions(+), 51 deletions(-) diff --git a/.gitignore b/.gitignore index fac9ab5f..93472b7d 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ target/ *.iws antx.properties output/ +.flattened-pom.xml +dependency-reduced-pom.xml diff --git a/easyexcel-core/pom.xml b/easyexcel-core/pom.xml index a42a36b9..4f03d716 100644 --- a/easyexcel-core/pom.xml +++ b/easyexcel-core/pom.xml @@ -11,9 +11,9 @@ ../pom.xml + jar easyexcel-core - com.alibaba diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java index f79dfdcc..96ed8421 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java @@ -35,7 +35,7 @@ import lombok.AllArgsConstructor; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; -import net.sf.cglib.beans.BeanMap; +import org.springframework.cglib.beans.BeanMap; /** * Licensed to the Apache Software Foundation (ASF) under one or more diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java index 0a825a7b..583bc6f3 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java @@ -6,7 +6,7 @@ import java.util.Map; import com.alibaba.excel.metadata.NullObject; -import net.sf.cglib.beans.BeanMap; +import org.springframework.cglib.beans.BeanMap; /** * Licensed to the Apache Software Foundation (ASF) under one or more diff --git a/easyexcel-support/pom.xml b/easyexcel-support/pom.xml index c689359a..d15b0d7a 100644 --- a/easyexcel-support/pom.xml +++ b/easyexcel-support/pom.xml @@ -11,19 +11,25 @@ ../pom.xml + jar easyexcel-support org.springframework spring-core + + + org.springframework + spring-jcl + + - org.apache.maven.plugins maven-shade-plugin @@ -39,7 +45,7 @@ true true - + org.springframework:spring-core @@ -53,20 +59,32 @@ - - - org.springframework - com.alibaba.easyexcel.support - - + org.codehaus.mojo flatten-maven-plugin + + + flatten.process-resources + process-resources + + flatten + + + + flatten + package + + flatten + + + + diff --git a/easyexcel/pom.xml b/easyexcel/pom.xml index 5d28b0d0..303f79ad 100644 --- a/easyexcel/pom.xml +++ b/easyexcel/pom.xml @@ -11,8 +11,10 @@ ../pom.xml + jar easyexcel + com.alibaba diff --git a/pom.xml b/pom.xml index cf150db3..e8a7f9c0 100644 --- a/pom.xml +++ b/pom.xml @@ -24,6 +24,7 @@ 1.8 true true + true @@ -192,11 +193,6 @@ - - org.apache.maven.plugins - maven-shade-plugin - 3.2.4 - org.apache.maven.plugins maven-pmd-plugin @@ -239,14 +235,17 @@ maven-surefire-plugin 2.22.2 + + org.apache.maven.plugins + maven-shade-plugin + 3.2.4 + org.codehaus.mojo flatten-maven-plugin 1.2.7 - - @@ -301,7 +300,6 @@ org.apache.maven.plugins maven-source-plugin - 3.2.1 true @@ -317,7 +315,6 @@ org.apache.maven.plugins maven-gpg-plugin - 1.6 verify @@ -361,6 +358,33 @@ true + + + org.apache.maven.plugins + maven-shade-plugin + + + package + + shade + + + + + ${project.groupId}:${project.artifactId} + + + + + org.springframework + com.alibaba.easyexcel.support + + + + + + + org.codehaus.mojo flatten-maven-plugin @@ -369,6 +393,13 @@ resolveCiFriendliesOnly + + flatten.process-resources + process-resources + + flatten + + flatten package @@ -385,37 +416,6 @@ - - - org.apache.maven.plugins - maven-shade-plugin - - - package - - shade - - - false - - - org.springframework:spring-core - - org/springframework/asm/** - org/springframework/cglib/** - - - - - - org.springframework - com.alibaba.easyexcel.support - - - - - - From 5ecff59048272e7b661d2a5699768ee5dd6fe096 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 10 Feb 2022 17:41:12 +0800 Subject: [PATCH 15/68] =?UTF-8?q?=E6=9C=89=E6=A0=B7=E5=BC=8F=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E6=95=B0=E6=8D=AE=E7=9A=84=E6=83=85=E5=86=B5=E4=B8=8B?= =?UTF-8?q?=E4=B9=9F=E7=AE=97=E7=A9=BA=E8=A1=8C=20[Issue=20#2294]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/v07/handlers/RowTagHandler.java | 20 +++++++++++++++++ .../alibaba/easyexcel/test/temp/LockTest.java | 2 +- .../test/temp/write/TempWriteData.java | 17 ++++++++++++++ .../test/temp/write/TempWriteTest.java | 22 +++++++++++++++++++ update.md | 3 ++- 5 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java create mode 100644 easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java index 37965254..51c192ca 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/RowTagHandler.java @@ -4,8 +4,10 @@ import java.util.LinkedHashMap; import com.alibaba.excel.constant.ExcelXmlConstants; import com.alibaba.excel.context.xlsx.XlsxReadContext; +import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.enums.RowTypeEnum; import com.alibaba.excel.metadata.Cell; +import com.alibaba.excel.metadata.data.ReadCellData; import com.alibaba.excel.read.metadata.holder.ReadRowHolder; import com.alibaba.excel.read.metadata.holder.xlsx.XlsxReadSheetHolder; import com.alibaba.excel.util.PositionUtils; @@ -41,6 +43,24 @@ public class RowTagHandler extends AbstractXlsxTagHandler { public void endElement(XlsxReadContext xlsxReadContext, String name) { XlsxReadSheetHolder xlsxReadSheetHolder = xlsxReadContext.xlsxReadSheetHolder(); RowTypeEnum rowType = MapUtils.isEmpty(xlsxReadSheetHolder.getCellMap()) ? RowTypeEnum.EMPTY : RowTypeEnum.DATA; + // It's possible that all of the cells in the row are empty + if (rowType == RowTypeEnum.DATA) { + boolean hasData = false; + for (Cell cell : xlsxReadSheetHolder.getCellMap().values()) { + if (!(cell instanceof ReadCellData)) { + hasData = true; + break; + } + ReadCellData readCellData = (ReadCellData)cell; + if (readCellData.getType() != CellDataTypeEnum.EMPTY) { + hasData = true; + break; + } + } + if (!hasData) { + rowType = RowTypeEnum.EMPTY; + } + } xlsxReadContext.readRowHolder(new ReadRowHolder(xlsxReadSheetHolder.getRowIndex(), rowType, xlsxReadSheetHolder.getGlobalConfiguration(), xlsxReadSheetHolder.getCellMap())); xlsxReadContext.analysisEventProcessor().endRow(xlsxReadContext); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java index 031e5114..322891da 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java @@ -24,7 +24,7 @@ public class LockTest { @Test public void test() throws Exception { List list = - EasyExcel.read(new FileInputStream("/Users/zhuangjiaju/test/pic.xls")).doReadAllSync(); + EasyExcel.read(new FileInputStream("/Users/zhuangjiaju/Downloads/test.xlsx")).useDefaultListener(false).doReadAllSync(); for (Object data : list) { LOGGER.info("返回数据:{}", JSON.toJSONString(data)); } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java new file mode 100644 index 00000000..b26ce4b6 --- /dev/null +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java @@ -0,0 +1,17 @@ +package com.alibaba.easyexcel.test.temp.write; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadStyle; +import com.alibaba.excel.enums.BooleanEnum; + +import lombok.Data; + +@Data +public class TempWriteData { + + @ExcelProperty(" 换行\r\n \\ \r\n的名字") + @HeadStyle(wrapped = BooleanEnum.TRUE) + @ContentStyle(wrapped = BooleanEnum.TRUE) + private String name; +} diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java new file mode 100644 index 00000000..0f218e45 --- /dev/null +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java @@ -0,0 +1,22 @@ +package com.alibaba.easyexcel.test.temp.write; + +import com.alibaba.easyexcel.test.util.TestFileUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.util.ListUtils; + +import org.junit.Ignore; +import org.junit.Test; + +@Ignore +public class TempWriteTest { + + @Test + public void write() { + TempWriteData tempWriteData = new TempWriteData(); + tempWriteData.setName("zs\r\n \\ \r\n t4"); + EasyExcel.write(TestFileUtil.getPath() + "TempWriteTest" + System.currentTimeMillis() + ".xlsx", + TempWriteData.class) + .sheet() + .doWrite(ListUtils.newArrayList(tempWriteData)); + } +} diff --git a/update.md b/update.md index f6831f4b..57cced3c 100644 --- a/update.md +++ b/update.md @@ -1,5 +1,6 @@ # 3.1.0 -* 去除cglib&asm依赖,改成重新拷贝一份 [Issue #2240](https://github.com/alibaba/easyexcel/issues/2240) +* 支持jdk17,去除cglib&asm依赖,改成重新拷贝一份 [Issue #2240](https://github.com/alibaba/easyexcel/issues/2240) +* 有样式没有数据的情况下也算空行 [Issue #2294](https://github.com/alibaba/easyexcel/issues/2294) # 3.0.5 * 修复`ReadListener` 转换异常不抛出的问题 From 4263ba51d1414909d415fee9e4db6654fdb86923 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 10 Feb 2022 20:33:52 +0800 Subject: [PATCH 16/68] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=96=87=E4=BB=B6=E6=B5=81=E5=88=A4=E6=96=AD?= =?UTF-8?q?csv=E7=9A=84bug=20[Issue=20#2297]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alibaba/excel/support/ExcelTypeEnum.java | 46 ++++++++++++------- .../test/core/simple/SimpleDataTest.java | 27 ++++++++++- update.md | 3 +- 3 files changed, 58 insertions(+), 18 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java index eb4c4cbd..97999a71 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java @@ -4,37 +4,46 @@ import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; +import java.util.Arrays; import com.alibaba.excel.exception.ExcelAnalysisException; import com.alibaba.excel.exception.ExcelCommonException; import com.alibaba.excel.read.metadata.ReadWorkbook; import com.alibaba.excel.util.StringUtils; +import lombok.Getter; import org.apache.poi.poifs.filesystem.FileMagic; +import org.apache.poi.util.IOUtils; /** * @author jipengfei */ +@Getter public enum ExcelTypeEnum { + /** * csv */ - CSV(".csv"), + CSV(".csv", new byte[] {-27, -89, -109, -27}), /** * xls */ - XLS(".xls"), + XLS(".xls", new byte[] {-48, -49, 17, -32, -95, -79, 26, -31}), /** * xlsx */ - XLSX(".xlsx"); + XLSX(".xlsx", new byte[] {80, 75, 3, 4}); - private String value; + final String value; + final byte[] magic; - ExcelTypeEnum(String value) { - this.setValue(value); + ExcelTypeEnum(String value, byte[] magic) { + this.value = value; + this.magic = magic; } + final static int MAX_PATTERN_LENGTH = 8; + public static ExcelTypeEnum valueOf(ReadWorkbook readWorkbook) { ExcelTypeEnum excelType = readWorkbook.getExcelType(); if (excelType != null) { @@ -85,22 +94,27 @@ public enum ExcelTypeEnum { } private static ExcelTypeEnum recognitionExcelType(InputStream inputStream) throws Exception { - FileMagic fileMagic = FileMagic.valueOf(inputStream); - if (FileMagic.OLE2.equals(fileMagic)) { - return XLS; - } - if (FileMagic.OOXML.equals(fileMagic)) { + // Grab the first bytes of this stream + byte[] data = IOUtils.peekFirstNBytes(inputStream, MAX_PATTERN_LENGTH); + if (findMagic(XLSX.magic, data)) { return XLSX; + } else if (findMagic(CSV.magic, data)) { + return CSV; + } else if (findMagic(XLS.magic, data)) { + return XLS; } throw new ExcelCommonException( "Convert excel format exception.You can try specifying the 'excelType' yourself"); } - public String getValue() { - return value; + private static boolean findMagic(byte[] expected, byte[] actual) { + int i = 0; + for (byte expectedByte : expected) { + if (actual[i++] != expectedByte && expectedByte != '?') { + return false; + } + } + return true; } - public void setValue(String value) { - this.value = value; - } } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java index a381ec43..36e90a0f 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java @@ -1,11 +1,16 @@ package com.alibaba.easyexcel.test.core.simple; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.InputStream; import java.util.ArrayList; import java.util.List; import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.support.ExcelTypeEnum; import org.junit.Assert; import org.junit.BeforeClass; @@ -50,6 +55,26 @@ public class SimpleDataTest { EasyExcel.read(file, SimpleData.class, new SimpleDataListener()).sheet().doRead(); } + @Test + public void t04ReadAndWrite07() throws Exception { + readAndWriteInputStream(file07, ExcelTypeEnum.XLSX); + } + + @Test + public void t05ReadAndWrite03() throws Exception { + readAndWriteInputStream(file03, ExcelTypeEnum.XLS); + } + + @Test + public void t06ReadAndWriteCsv() throws Exception { + readAndWriteInputStream(fileCsv, ExcelTypeEnum.CSV); + } + + private void readAndWriteInputStream(File file, ExcelTypeEnum excelTypeEnum) throws Exception { + EasyExcel.write(new FileOutputStream(file), SimpleData.class).excelType(excelTypeEnum).sheet().doWrite(data()); + EasyExcel.read(new FileInputStream(file), SimpleData.class, new SimpleDataListener()).sheet().doRead(); + } + @Test public void t11SynchronousRead07() { synchronousRead(file07); @@ -66,7 +91,7 @@ public class SimpleDataTest { } @Test - public void t05SheetNameRead07() { + public void t21SheetNameRead07() { EasyExcel.read(TestFileUtil.readFile("simple" + File.separator + "simple07.xlsx"), SimpleData.class, new SimpleDataSheetNameListener()).sheet("simple").doRead(); } diff --git a/update.md b/update.md index 57cced3c..66f1c977 100644 --- a/update.md +++ b/update.md @@ -1,6 +1,7 @@ # 3.1.0 * 支持jdk17,去除cglib&asm依赖,改成重新拷贝一份 [Issue #2240](https://github.com/alibaba/easyexcel/issues/2240) -* 有样式没有数据的情况下也算空行 [Issue #2294](https://github.com/alibaba/easyexcel/issues/2294) +* 在有样式没有数据的情况下也算空行 [Issue #2294](https://github.com/alibaba/easyexcel/issues/2294) +* 修复无法根据文件流判断csv的bug [Issue #2297](https://github.com/alibaba/easyexcel/issues/2297) # 3.0.5 * 修复`ReadListener` 转换异常不抛出的问题 From 11bea4775815ea1608ff7e68e9a84b81e07cc095 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 10 Feb 2022 21:46:59 +0800 Subject: [PATCH 17/68] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=96=87=E4=BB=B6=E6=B5=81=E5=88=A4=E6=96=AD?= =?UTF-8?q?csv=E7=9A=84bug=20[Issue=20#2297]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/analysis/ExcelAnalyserImpl.java | 13 +++++++++ .../analysis/csv/CsvExcelReadExecutor.java | 10 ++++--- .../holder/csv/CsvReadWorkbookHolder.java | 3 +++ .../test/temp/write/TempWriteData.java | 2 ++ .../test/temp/write/TempWriteTest.java | 27 +++++++++++++++++++ update.md | 2 ++ 6 files changed, 53 insertions(+), 4 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java index 743daab9..161c2943 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java @@ -18,6 +18,7 @@ import com.alibaba.excel.exception.ExcelAnalysisStopException; import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.excel.read.metadata.ReadWorkbook; import com.alibaba.excel.read.metadata.holder.ReadWorkbookHolder; +import com.alibaba.excel.read.metadata.holder.csv.CsvReadWorkbookHolder; import com.alibaba.excel.read.metadata.holder.xls.XlsReadWorkbookHolder; import com.alibaba.excel.read.metadata.holder.xlsx.XlsxReadWorkbookHolder; import com.alibaba.excel.support.ExcelTypeEnum; @@ -171,6 +172,18 @@ public class ExcelAnalyserImpl implements ExcelAnalyser { } catch (Throwable t) { throwable = t; } + + // close csv + // https://github.com/alibaba/easyexcel/issues/2309 + try { + if ((readWorkbookHolder instanceof CsvReadWorkbookHolder) + && ((CsvReadWorkbookHolder)readWorkbookHolder).getCsvParser() != null) { + ((CsvReadWorkbookHolder)readWorkbookHolder).getCsvParser().close(); + } + } catch (Throwable t) { + throwable = t; + } + try { if (analysisContext.readWorkbookHolder().getAutoCloseStream() && readWorkbookHolder.getInputStream() != null) { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java index d411ef0d..2c35b105 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java @@ -25,6 +25,7 @@ import com.alibaba.excel.util.StringUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; /** @@ -53,9 +54,10 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { @Override public void execute() { - Iterable parseRecords; + CSVParser csvParser; try { - parseRecords = parseRecords(); + csvParser = csvParser(); + csvReadContext.csvReadWorkbookHolder().setCsvParser(csvParser); } catch (IOException e) { throw new ExcelAnalysisException(e); } @@ -68,7 +70,7 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { int rowIndex = 0; - for (CSVRecord record : parseRecords) { + for (CSVRecord record : csvParser) { dealRecord(record, rowIndex++); } @@ -77,7 +79,7 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { } } - private Iterable parseRecords() throws IOException { + private CSVParser csvParser() throws IOException { CsvReadWorkbookHolder csvReadWorkbookHolder = csvReadContext.csvReadWorkbookHolder(); CSVFormat csvFormat = csvReadWorkbookHolder.getCsvFormat(); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java index 0a322d58..0471bcf0 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; import org.apache.commons.csv.CSVFormat; +import org.apache.commons.csv.CSVParser; /** * Workbook holder @@ -20,6 +21,8 @@ import org.apache.commons.csv.CSVFormat; public class CsvReadWorkbookHolder extends ReadWorkbookHolder { private CSVFormat csvFormat; + private CSVParser csvParser; + public CsvReadWorkbookHolder(ReadWorkbook readWorkbook) { super(readWorkbook); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java index b26ce4b6..2ef4b56a 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java @@ -8,7 +8,9 @@ import com.alibaba.excel.enums.BooleanEnum; import lombok.Data; @Data +//@Accessors(chain = true) public class TempWriteData { + private String name1; @ExcelProperty(" 换行\r\n \\ \r\n的名字") @HeadStyle(wrapped = BooleanEnum.TRUE) diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java index 0f218e45..6e23c0e0 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java @@ -1,13 +1,20 @@ package com.alibaba.easyexcel.test.temp.write; +import java.util.HashMap; +import java.util.Map; + import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.util.BeanMapUtils; import com.alibaba.excel.util.ListUtils; +import lombok.extern.slf4j.Slf4j; import org.junit.Ignore; import org.junit.Test; +import org.springframework.cglib.beans.BeanMap; @Ignore +@Slf4j public class TempWriteTest { @Test @@ -19,4 +26,24 @@ public class TempWriteTest { .sheet() .doWrite(ListUtils.newArrayList(tempWriteData)); } + + @Test + public void cglib() { + TempWriteData tempWriteData = new TempWriteData(); + tempWriteData.setName("1"); + tempWriteData.setName1("2"); + BeanMap beanMap = BeanMapUtils.create(tempWriteData); + + log.info("d1{}", beanMap.get("name")); + log.info("d2{}", beanMap.get("name1")); + + TempWriteData tempWriteData2 = new TempWriteData(); + + Map map = new HashMap<>(); + map.put("name", "zs"); + BeanMap beanMap2 = BeanMapUtils.create(tempWriteData2); + beanMap2.putAll(map); + log.info("3{}", tempWriteData2.getName()); + + } } diff --git a/update.md b/update.md index 66f1c977..33bce517 100644 --- a/update.md +++ b/update.md @@ -2,6 +2,8 @@ * 支持jdk17,去除cglib&asm依赖,改成重新拷贝一份 [Issue #2240](https://github.com/alibaba/easyexcel/issues/2240) * 在有样式没有数据的情况下也算空行 [Issue #2294](https://github.com/alibaba/easyexcel/issues/2294) * 修复无法根据文件流判断csv的bug [Issue #2297](https://github.com/alibaba/easyexcel/issues/2297) +* 修复CSV不关闭流的bug [Issue #2309](https://github.com/alibaba/easyexcel/issues/2309) + # 3.0.5 * 修复`ReadListener` 转换异常不抛出的问题 From 18e295f091b8961993d5fa5f33d62d1f34c26a37 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 10 Feb 2022 21:48:21 +0800 Subject: [PATCH 18/68] =?UTF-8?q?=E4=BF=AE=E5=A4=8DCSV=E4=B8=8D=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E6=B5=81=E7=9A=84bug=20[Issue=20#2309]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java index 161c2943..05d4fa84 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java @@ -173,7 +173,7 @@ public class ExcelAnalyserImpl implements ExcelAnalyser { throwable = t; } - // close csv + // close csv. // https://github.com/alibaba/easyexcel/issues/2309 try { if ((readWorkbookHolder instanceof CsvReadWorkbookHolder) From 4e350773ae550c3eae97581a76f9d3b9af947ba2 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 18 Feb 2022 20:39:29 +0800 Subject: [PATCH 19/68] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alibaba/easyexcel/test/temp/write/TempWriteTest.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java index 6e23c0e0..22126889 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java @@ -3,6 +3,7 @@ package com.alibaba.easyexcel.test.temp.write; import java.util.HashMap; import java.util.Map; +import com.alibaba.easyexcel.test.demo.read.CustomStringStringConverter; import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.util.BeanMapUtils; @@ -24,7 +25,15 @@ public class TempWriteTest { EasyExcel.write(TestFileUtil.getPath() + "TempWriteTest" + System.currentTimeMillis() + ".xlsx", TempWriteData.class) .sheet() + .registerConverter(new CustomStringStringConverter()) .doWrite(ListUtils.newArrayList(tempWriteData)); + + + EasyExcel.write(TestFileUtil.getPath() + "TempWriteTest" + System.currentTimeMillis() + ".xlsx", + TempWriteData.class) + .sheet() + .doWrite(ListUtils.newArrayList(tempWriteData)); + } @Test From 364c2a7a40a117a8d5a02f50f388823719ddb3e6 Mon Sep 17 00:00:00 2001 From: chily Date: Sun, 3 Apr 2022 21:43:13 +0800 Subject: [PATCH 20/68] =?UTF-8?q?issue=20#2054:=20=E5=9C=A8Android?= =?UTF-8?q?=E4=B8=8A=E8=B7=B3=E8=BF=87http://apache.org/xml/features/disal?= =?UTF-8?q?low-doctype-decl=E7=9A=84=E9=99=90=E5=88=B6.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../excel/analysis/v07/XlsxSaxAnalyser.java | 16 +++++++++++----- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 3aa5fa65..7216f636 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.alibaba easyexcel - 3.0.5 + 3.0.6 jar easyexcel diff --git a/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java index ea8b87b1..5204edf2 100644 --- a/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java +++ b/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java @@ -41,10 +41,7 @@ import org.apache.poi.xssf.usermodel.XSSFRelation; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr; import org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument; -import org.xml.sax.ContentHandler; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.XMLReader; +import org.xml.sax.*; /** * @author jipengfei @@ -188,7 +185,16 @@ public class XlsxSaxAnalyser implements ExcelReadExecutor { } else { saxFactory = SAXParserFactory.newInstance(xlsxSAXParserFactoryName, null); } - saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); + + try { + saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); + } catch (SAXNotRecognizedException e) { + log.warn( + "SAXNotRecognizedException occur, not supported feature: " + + "http://apache.org/xml/features/disallow-doctype-decl, which will disable DOCTYPE declaration" + + " if set true."); + } + saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); SAXParser saxParser = saxFactory.newSAXParser(); From 908fe73545901cd3180e0f15701b3a623adb9eb8 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 6 Apr 2022 16:02:32 +0800 Subject: [PATCH 21/68] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A1=AB=E5=85=85?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../fill/annotation/FillAnnotationData.java | 3 ++ .../annotation/FillAnnotationDataTest.java | 31 ++++++++++++++++++ .../alibaba/easyexcel/test/temp/LockTest.java | 2 +- .../src/test/resources/fill/annotation.xls | Bin 26624 -> 27136 bytes .../src/test/resources/fill/annotation.xlsx | Bin 10692 -> 10742 bytes 5 files changed, 35 insertions(+), 1 deletion(-) diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java index bc4c2483..87e2bfae 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java @@ -7,6 +7,7 @@ import com.alibaba.excel.annotation.format.DateTimeFormat; import com.alibaba.excel.annotation.format.NumberFormat; import com.alibaba.excel.annotation.write.style.ContentLoopMerge; import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.converters.string.StringImageConverter; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -33,4 +34,6 @@ public class FillAnnotationData { private String string1; @ExcelProperty("字符串2") private String string2; + @ExcelProperty(value = "图片", converter = StringImageConverter.class) + private String image; } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java index 93680d69..d2159e71 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java @@ -9,17 +9,27 @@ import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.util.DateUtils; +import org.apache.poi.hssf.usermodel.HSSFClientAnchor; +import org.apache.poi.hssf.usermodel.HSSFPicture; +import org.apache.poi.hssf.usermodel.HSSFShape; +import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.PictureData; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFAnchor; +import org.apache.poi.xssf.usermodel.XSSFPicture; +import org.apache.poi.xssf.usermodel.XSSFShape; +import org.apache.poi.xssf.usermodel.XSSFSheet; import org.junit.Assert; import org.junit.BeforeClass; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runners.MethodSorters; +import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTMarker; /** * @author Jiaju Zhuang @@ -73,6 +83,26 @@ public class FillAnnotationDataTest { } } Assert.assertTrue(hasMerge); + if (sheet instanceof XSSFSheet) { + XSSFSheet xssfSheet = (XSSFSheet)sheet; + List shapeList = xssfSheet.getDrawingPatriarch().getShapes(); + XSSFShape shape0 = shapeList.get(0); + Assert.assertTrue(shape0 instanceof XSSFPicture); + XSSFPicture picture0 = (XSSFPicture)shape0; + CTMarker ctMarker0 = picture0.getPreferredSize().getFrom(); + Assert.assertEquals(1, ctMarker0.getRow()); + Assert.assertEquals(4, ctMarker0.getCol()); + } else { + HSSFSheet hssfSheet = (HSSFSheet)sheet; + List shapeList = hssfSheet.getDrawingPatriarch().getChildren(); + HSSFShape shape0 = shapeList.get(0); + Assert.assertTrue(shape0 instanceof HSSFPicture); + HSSFPicture picture0 = (HSSFPicture)shape0; + HSSFClientAnchor anchor = (HSSFClientAnchor)picture0.getAnchor(); + Assert.assertEquals(1, anchor.getRow1()); + Assert.assertEquals(4, anchor.getCol1()); + } + } private List data() throws Exception { @@ -82,6 +112,7 @@ public class FillAnnotationDataTest { data.setNumber(99.99); data.setString1("string1"); data.setString2("string2"); + data.setImage(TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"); list.add(data); list.add(data); list.add(data); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java index 322891da..07cb7989 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java @@ -24,7 +24,7 @@ public class LockTest { @Test public void test() throws Exception { List list = - EasyExcel.read(new FileInputStream("/Users/zhuangjiaju/Downloads/test.xlsx")).useDefaultListener(false).doReadAllSync(); + EasyExcel.read(new FileInputStream("/Users/zhuangjiaju/Downloads/-0304.2.xlsx")).useDefaultListener(false).doReadAllSync(); for (Object data : list) { LOGGER.info("返回数据:{}", JSON.toJSONString(data)); } diff --git a/easyexcel-core/src/test/resources/fill/annotation.xls b/easyexcel-core/src/test/resources/fill/annotation.xls index 8fd19c5a7fa7300facc2a11f4f84c04ff6606b40..de09678c72f3ffdcb9a592432489129f66ec11bb 100644 GIT binary patch delta 2534 zcmchZYiv|S6vxlpz5D9!b|2kGw~yVmJoeRgx0DJ9+isy-Kod*lVSEroXptyJ3GxA~ zyAm+bN+>-DQ4loIL<-2`0;Wa<{h(>$hmw$JP@@=5 zqpB>Qz*Y4pg}-0pB`UodFQ)So;Xj$bqVi&TiW7#XnDEXN{PYz3oZ!WK;gHkmwRkE0 zZwO90>8f!6*4YAvc6fHhR=3h=bLsG;%Yh&HGB{e9!JqsY9IMKpwI+k1+6*#c9%4~q zsp<@N6YnA3N&I2rPZQrkd_VD_+Gc#-uzM%I=XU55$pi&jaGql0u-jf2 zoO>JNUs_`_`Dk=aBvuZ3kd*IgpENI!A(}Jg2TctyI3Y1iGUau!Yxk{v@2=wu>*?3Q z$nOEj=V$QAC>bG!_k|a+IPM8Q$m;Re@C?eKEfS~v&5LAN0*530EQy)uV#?U==pxG2 zrRYl5jNw?6^3@$nP_AB#EoOJ)NGwa)S{m=`kYR4lOmbREXG_yA zD2MZ{{2dEq7AG&H@krwX#yZB|z6{42YndLsi2&J_M3C&tM2PIxL@29=IefM#lrsJ! z`EyTj1Ebtc95RB;hqgDaU%REJuXMC9@z$!vn@fjG+Qf~U)^3=kD`ISQ&j1_aR5&Q=*hm&XqT3|+Fh)&8jDMJDmMzxok1cUqvS?zm`3FlDzv{W~?RDM8Guchf zdH4R#z4v_F``(+#u!&Rb4T-f(#=Jrd02c0_XP9Mnwv2YeX<=gcZwW6NrtnpxTOKhU zXY!CKY+!&tSiN}C>b^sXrWyITniT;Ssl%Hv7dQ`Pa63Pt!#~#HpXl&I`8=KHcs}2d z$B*mq!#ez+4qq)G@(+TZ16gOIBRc#}19~rTKD}zG7jzsfD%=7E>XBVj4vf?{3b#^E zIm(rrd4a|=a36L3+WbNqtWy@Kh9b>C9d)A&1gKkb8(+bGTcAU|5H@Xc?gFV7qC(>t z*b5NPd9^?kPZYY+;Z<{RXsf0jj+vsFA`sqEax2a8!NDc}k{^W66<)6KTXHVb;ZBV^ zGq8vH9xXQuM0i*ahgJ=%SX-7$@|fbD-Wzp3g{y|8hD#;OaW##3v=_M8*NQ%%=r3@0 zVUPbaWgm++f7aosD5{{e-&ME?_uK2t3AkMMVXgdu-DyOrL}YQ?Ttc4+uF>O(v53<9 z)fJPEmOsW=2)DUf@sLwQ!IfgIIPQ562fd?s(k-$!{MIwg8gZNZMLg>jP5cvM#O-bm zu2fdwv(+MN!e87+@zcsu>~M>wPO@9@g2RV%9uqE9KgF7Hq%z>>g>in}axILnyY9id zQjxV|tSX4kDj$9?rf|@iLZK{$6Fvc3t2U$Ek-}rdwi5f@TaU9eZzr)oh`mNks;b8e z#Ab-Km8S3~Vxz=@)jm8&Y>b$@JcVBp+gDwT&zFg~hSn|--(9{|p7ZT1Fj^pl-3?n< z7!Ne`QFSgh)Uha9LlH{6HI$|l7efarkz}}sN%%^53ya~8;a;j}O(ewD;=Pe(D%*3B z9xB&&ku+O}UD0u)9oo^jaO15Eu3WHc(!?G*KfcJ$;AL{c%W~W049E|`gR5Pw``BmhuB8T+KH&` zCUc8w#%ClyGvlNbP_(C}W&GA<26fj<1OCSq6JD08UHSWFp^&2ZD+*wf`(rQIe9IJ& znc^xk@Rvz#26{|yB-tdNOL`gl6A64e;cgR%TMayH`kaEB|2zO#iNg3GpZ!CQc#Gp# z32$Fq`O~P(2yyZWz(;&l9Qb>oju?%MxsicJ+^1^e>r6B{LkYZ1&oWq#Ta!}d^)P5J z-g}4dU2uhpX~swHmOMA|Q{$#7N=wEmw{b?5{J&Y&CElv)OD7IlGIbmZXj(NK#MIK*H@|dPYd- pK%kMNiKLlCl9vY)Y;unrM6O|qK&P?7D@@V zDn><>N?LCzYQDbyc>8?!*L|LQ?)`D^x#x7-Y}wSEWyNewX_UQV005Gh001rk01)AO zHrzkR=eobYk9@=(-!eNZix~y(dxiB!+`qNd%yISlW@M=%yHDlbkO=)+s!Brl2j9d- zz5VU{v2t)LGn181VQ|Ip{OsMZ1j*{EO_635-F`?$DFE$q4$s~~8W|_BW3Z?jm4jZD z62l|87@?4JyZc_vw!8PrKfYlGjNW`+*J!S&QnLU%f2nGj7Zv>MjJJCw|J29aF$(nQ zOjWl#w?uP^ZV88O)qHI6a&X7alj~+Z&t|cnSFPDM&BVROitT7}0kH9HGrE%9I6(2l zv${1tC>mxe$zG|Pk5Auv&^>3;bv8zu)s3YsAJZOMXLl;+is2BQM~BL>8n!r{T@#`emlwPem#4Mhm23>z!VdS-uW0>CyBPKgsd6WNA`pHL|`I zGcpibrGM2pRcrYE7j(jIovrCx3=h&m^_LgYWIeO!QY6cxu%H5O2b~}9va)@Q%u;P1BW-jfxm_IyBZoF zGDY#j50zTCWlz#vL!!z8E+vyQ%^JRzXX`_I+$jSUdr2vWxELgi$PYOKVU^P&A$N{h z-i$L9ki#&8-j{Q*Ioi#*hW@A$A;6Uw&s?yak#MxTyUl4XhPQ4YBi3_Xe%I%#h&MO(m0Voji*= z|6qUbT?xBa<`u|c9^6E4ds5e`*X<-DSb)spl^du?eVImpP2451$&)%h=TXCz2K0~a zXJ&Ug`sbyKJ%I_5^ zy~5P43~z1@j@;J6732ld_+90Ek~LAb2Exj)yN~f)>bI(Ip|s~EXa}Nqd3Sb|q_}~W z$kLl?1wKAaUEPu)&x|$$J9U;2Bse9`8fGB#k9J9K*Yl3k8RI`GqF_<#lfxBKZd7yA zx3(I+hgA{b-kuSJ&gqt%=t9~dh-4-dfVr&*Mbzjb8ud+IN980eCwgv6x@A+W5s{)b zBInIx`nX*t1Y*M==#63QA{4s?O|Lj2w?j&pK3SC-EpH(5zhcbNdS2ZF0RTrw$C7n) zh+RHSq{JLWxV@A1ubWQ9L)@j+1%i0v!7Y4Sx)P>-C z?pix=IkcDYvWoAW-H=xIfwBrxOd-S0CU3sD3;(XGMH8}6K#FIt+bDUIheG+zxOfei zx61(LEz*xwmdZeInA|jq36hvy+=x_Vlp+EpY41~KTB!Xd7kmHwu;N87=%C3{2Y=a8!V z($Zif4H~V$$zE_u+5`Kn8ZrUa)}YLM`YfB?YtqD7yb#P1U816Tlcjsn83OiCYIPOY zoyLxf2g2QGgHM}sG1pgpcr>_L**E~xSC+h5 zuZ^Ex;$Ug%3z-CE!|J}o?a9Y9;@Ej|+GX^@^q@H19z3jGisr|Y&EWS4q@EvH(U32w zjyaLIcLL0;OH_i#k#7GbtAw6|fGAbJJd+bCnGSQWU)0J&`iupt*WNiLMSS+=z+DuA z5+4YsF@nvJ`xs*)TwDo=smHh6Zv^38)uA-Y*X;ePe7?AJ{kDTBqF?m}=xo>Ca(^(V z^zuw?>V)~M$8#plqK|MmD`w*d}1&Zf}vY@{qM&)w-j3*^p~BUR4yDr zX(9^%;|m7|AlpK~pH*ff^Fgft88;3kX%6JTJ(Sb|zQqknYA}3(;VcDUIJgu{_&?n{ zc6Wi}SNR)i0>_|}I8P~Vp}))p0HA*n$JuQhPU<24FvkTMwO&Jp+ zP%WCoIPV61je=Gl&_*OX>`}CchpVf!(5ROxTx$>fWV3Mmnw*($V|R2b|X3^?n+;=+cKJoYV;~;fq4v1-nh-@CifjB3iMHP!2U&m8Kmug!JssplM|-= zOO^(oH5ZpGU5#%|5RHD!*+&!Har+y;zb<3=xT?ZR8N3dK0#q+E`XWo+fo(A196ziw z?3|B2$ye*2C)u`%+8>0H8GAjXQB0_YmXx&dNyA>~C3U24X!XdI)b;xK{q-lUr6G~3 zUy12uXUdS3tC}>9P+xRRKOsKdlYz;xlzQsh-`HvS7(};(YwJLds5ZS$d5A1eQ<5KD zS-^uz#-|}Gv}?-9YXkSs{X8`Z_w~tSs#e1MFtQc!BCUN$99-AYy`+*ksCHt`F z*4wH59(@ZS$tj*{#`Nj1{4_ytHJYN>hHFz_c1QZkLTQK8x2_dx*_m5E#IL;8etDlG z8YXdwY~GR)T_%Q=@f(?@3?}r~EtV!32)=RuVo>Lr-suV;yNLXnYTS z^L>gaD#C9FlPH`0B0qY+K6=4{tCd^d;e}i(X*GADmdYkwKZ?NFVuAM!!$d`O_0B7; zULalT8!%j+Qh)nhFO^o~GBH{H3O~)94{Xm7hX}aYn zYr9$8{HU?#A0Hmg2aV<2xA{Ru9&fuQr9Z7uxrLS|a6_1Cw_8ZVs7~ zax@Qw(m#R&zNim=!rh?%N9COSYOt%&3(NWKKPWm1Su3@{vF)ZBP4u5#TP!Xmh@_=# zX|e9(I~VT8vXIR(a?J>;V#v%qzoZ_V{YJ^^;$QsijOR6dIfupH1bMd=O~I?vo#n9F zZ8a0t8#t9!xS1BJwWm`sWR$r#KKtH`n-6)0D3i^{7uG zYT$*(4J5_U|cqoZHVKhqf;Ck5fChPrgbK9|B%H)Wt0 z3n6&;0qWJjirGTJ9eqT_2>xsZJ7v$7Lb+OuxI2E2#B=YI9Y~ywh(`CNY&x zG@9GW-*9o#Gsd|jsmoA;=bygoE(Zmtz4J%CA{pMb#{MbknAp50VaHO z%V7fo0J$J?te7OJOApc=-5Fu`QoW!U@?f%!rB_26IB7?2GL_O2i%?)m>m)hJ+WC}7 z;dL^*M}t4=7G}So1m#Y}Od+DeXS8ndJ{XTP6t-76;U@Ht@FT;=;;`jqtp0LMxU(K2 zhVLO)DSea2|$3FLZ z{GBz}Wv2&`6xp#BXMJD}FSArZitod_DtsWU+(4Iot`dsDnbC;Z{*^jZ{f+NWIkR>8 zVt@I-M!qS=M{5?(U_Y_d5Qj9PnMosoq++2l%tU-|l{h$DiFs!(j0=s$7EK(s**6UT zh<`Lg+?vz8n?aCXn^LBYmz=&5|lXKvk%!nhYY{ zB`#l@NaO;?K(XD(!E4?Un2(5W*Lm{y&ZBYMj!P)Mjj#B|MOJz>VDV3<8$9tOQ%Mab z+fb}rk*swp{}{a`5MUfnW#dsG;E<{GW+3Go$wlNLtrYJ*`Zh14dC?!vJHuc`sR^qW zn7xE^q<^*8=wluFh^X0m($4|QnQLXUI_Ftu9Zzg}UQ^8q9+^PP@dZ?{%bD_3b Date: Wed, 6 Apr 2022 17:20:09 +0800 Subject: [PATCH 22/68] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/ExcelAnalysisException.java | 2 +- .../excel/exception/ExcelCommonException.java | 2 +- .../exception/ExcelDataConvertException.java | 2 +- .../excel/exception/ExcelException.java | 21 +++++++++++++++++++ .../exception/ExcelGenerateException.java | 2 +- 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java index 490c541e..64e3353b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java @@ -4,7 +4,7 @@ package com.alibaba.excel.exception; * * @author jipengfei */ -public class ExcelAnalysisException extends RuntimeException { +public class ExcelAnalysisException extends ExcelException { public ExcelAnalysisException() {} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java index d8612147..5ab28025 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java @@ -4,7 +4,7 @@ package com.alibaba.excel.exception; * * @author Jiaju Zhuang */ -public class ExcelCommonException extends RuntimeException { +public class ExcelCommonException extends ExcelException { public ExcelCommonException() {} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java index ff1b409d..c490fa40 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java @@ -16,7 +16,7 @@ import lombok.Setter; @Getter @Setter @EqualsAndHashCode -public class ExcelDataConvertException extends RuntimeException { +public class ExcelDataConvertException extends ExcelException { /** * NotNull. */ diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java new file mode 100644 index 00000000..da6401f5 --- /dev/null +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java @@ -0,0 +1,21 @@ +package com.alibaba.excel.exception; + +/** + * Excel Exception + * @author Jiaju Zhuang + */ +public class ExcelException extends RuntimeException { + public ExcelException() {} + + public ExcelException(String message) { + super(message); + } + + public ExcelException(String message, Throwable cause) { + super(message, cause); + } + + public ExcelException(Throwable cause) { + super(cause); + } +} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java index f508b17f..3565cec3 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java @@ -3,7 +3,7 @@ package com.alibaba.excel.exception; /** * @author jipengfei */ -public class ExcelGenerateException extends RuntimeException { +public class ExcelGenerateException extends ExcelException { public ExcelGenerateException(String message) { super(message); From 0143f2e514ab4342c9c43ba2da6c64d756407838 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 6 Apr 2022 17:21:51 +0800 Subject: [PATCH 23/68] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../exception/ExcelAnalysisException.java | 2 +- .../excel/exception/ExcelCommonException.java | 2 +- .../exception/ExcelDataConvertException.java | 2 +- .../excel/exception/ExcelException.java | 21 ------------------- .../exception/ExcelGenerateException.java | 2 +- .../exception/ExcelRuntimeException.java | 21 +++++++++++++++++++ 6 files changed, 25 insertions(+), 25 deletions(-) delete mode 100644 easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java create mode 100644 easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelRuntimeException.java diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java index 64e3353b..28a60901 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelAnalysisException.java @@ -4,7 +4,7 @@ package com.alibaba.excel.exception; * * @author jipengfei */ -public class ExcelAnalysisException extends ExcelException { +public class ExcelAnalysisException extends ExcelRuntimeException { public ExcelAnalysisException() {} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java index 5ab28025..4370159b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelCommonException.java @@ -4,7 +4,7 @@ package com.alibaba.excel.exception; * * @author Jiaju Zhuang */ -public class ExcelCommonException extends ExcelException { +public class ExcelCommonException extends ExcelRuntimeException { public ExcelCommonException() {} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java index c490fa40..f351287a 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelDataConvertException.java @@ -16,7 +16,7 @@ import lombok.Setter; @Getter @Setter @EqualsAndHashCode -public class ExcelDataConvertException extends ExcelException { +public class ExcelDataConvertException extends ExcelRuntimeException { /** * NotNull. */ diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java deleted file mode 100644 index da6401f5..00000000 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelException.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.alibaba.excel.exception; - -/** - * Excel Exception - * @author Jiaju Zhuang - */ -public class ExcelException extends RuntimeException { - public ExcelException() {} - - public ExcelException(String message) { - super(message); - } - - public ExcelException(String message, Throwable cause) { - super(message, cause); - } - - public ExcelException(Throwable cause) { - super(cause); - } -} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java index 3565cec3..95ac9083 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelGenerateException.java @@ -3,7 +3,7 @@ package com.alibaba.excel.exception; /** * @author jipengfei */ -public class ExcelGenerateException extends ExcelException { +public class ExcelGenerateException extends ExcelRuntimeException { public ExcelGenerateException(String message) { super(message); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelRuntimeException.java b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelRuntimeException.java new file mode 100644 index 00000000..5d053201 --- /dev/null +++ b/easyexcel-core/src/main/java/com/alibaba/excel/exception/ExcelRuntimeException.java @@ -0,0 +1,21 @@ +package com.alibaba.excel.exception; + +/** + * Excel Exception + * @author Jiaju Zhuang + */ +public class ExcelRuntimeException extends RuntimeException { + public ExcelRuntimeException() {} + + public ExcelRuntimeException(String message) { + super(message); + } + + public ExcelRuntimeException(String message, Throwable cause) { + super(message, cause); + } + + public ExcelRuntimeException(Throwable cause) { + super(cause); + } +} From 3e0d4a625feb6dc3a6ea69ef5668fa04fc4daf5d Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 6 Apr 2022 17:47:55 +0800 Subject: [PATCH 24/68] =?UTF-8?q?*=20=E4=BF=AE=E5=A4=8D`filed`=E6=8B=BC?= =?UTF-8?q?=E6=8E=A5=E9=94=99=E8=AF=AF=20[Issue=20#2390](https://github.co?= =?UTF-8?q?m/alibaba/easyexcel/issues/2390)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../property/ExcelContentProperty.java | 2 +- .../metadata/property/ExcelHeadProperty.java | 10 +- .../com/alibaba/excel/util/ClassUtils.java | 94 +++++++++---------- .../com/alibaba/excel/util/FieldUtils.java | 4 +- .../AbstractExcelWriterParameterBuilder.java | 27 +++++- .../write/executor/ExcelWriteAddExecutor.java | 34 +++---- .../ExcludeOrIncludeDataTest.java | 70 +++++++------- .../easyexcel/test/demo/write/WriteTest.java | 12 +-- .../easyexcel/test/temp/StyleTest.java | 10 +- update.md | 1 + 10 files changed, 142 insertions(+), 122 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java index f0b72198..0b3ad1a5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelContentProperty.java @@ -18,7 +18,7 @@ public class ExcelContentProperty { public static final ExcelContentProperty EMPTY = new ExcelContentProperty(); /** - * Java filed + * Java field */ private Field field; /** diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java index f3a8474a..61240d31 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/metadata/property/ExcelHeadProperty.java @@ -109,8 +109,8 @@ public class ExcelHeadProperty { return; } // Declared fields - Map sortedAllFiledMap = MapUtils.newTreeMap(); - Map indexFiledMap = MapUtils.newTreeMap(); + Map sortedAllFieldMap = MapUtils.newTreeMap(); + Map indexFieldMap = MapUtils.newTreeMap(); boolean needIgnore = (holder instanceof AbstractWriteHolder) && ( !CollectionUtils.isEmpty(((AbstractWriteHolder)holder).getExcludeColumnFieldNames()) || !CollectionUtils @@ -118,10 +118,10 @@ public class ExcelHeadProperty { .isEmpty(((AbstractWriteHolder)holder).getIncludeColumnFieldNames()) || !CollectionUtils .isEmpty(((AbstractWriteHolder)holder).getIncludeColumnIndexes())); - ClassUtils.declaredFields(headClazz, sortedAllFiledMap, indexFiledMap, ignoreMap, needIgnore, holder); + ClassUtils.declaredFields(headClazz, sortedAllFieldMap, indexFieldMap, ignoreMap, needIgnore, holder); - for (Map.Entry entry : sortedAllFiledMap.entrySet()) { - initOneColumnProperty(entry.getKey(), entry.getValue(), indexFiledMap.containsKey(entry.getKey())); + for (Map.Entry entry : sortedAllFieldMap.entrySet()) { + initOneColumnProperty(entry.getKey(), entry.getValue(), indexFieldMap.containsKey(entry.getKey())); } headKind = HeadKindEnum.CLASS; } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java index 96ed8421..a6d5b1f5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java @@ -195,17 +195,17 @@ public class ClassUtils { } /** - * Parsing filed in the class + * Parsing field in the class * * @param clazz Need to parse the class - * @param sortedAllFiledMap Complete the map of sorts - * @param indexFiledMap Use the index to sort fields + * @param sortedAllFieldMap Complete the map of sorts + * @param indexFieldMap Use the index to sort fields * @param ignoreMap You want to ignore field map * @param needIgnore If you want to ignore fields need to ignore * @param holder holder */ - public static void declaredFields(Class clazz, Map sortedAllFiledMap, - Map indexFiledMap, Map ignoreMap, Boolean needIgnore, Holder holder) { + public static void declaredFields(Class clazz, Map sortedAllFieldMap, + Map indexFieldMap, Map ignoreMap, Boolean needIgnore, Holder holder) { FieldCache fieldCache = declaredFields(clazz); if (fieldCache == null) { return; @@ -213,20 +213,20 @@ public class ClassUtils { if (ignoreMap != null) { ignoreMap.putAll(fieldCache.getIgnoreMap()); } - Map tempIndexFieldMap = indexFiledMap; + Map tempIndexFieldMap = indexFieldMap; if (tempIndexFieldMap == null) { tempIndexFieldMap = MapUtils.newTreeMap(); } - tempIndexFieldMap.putAll(fieldCache.getIndexFiledMap()); + tempIndexFieldMap.putAll(fieldCache.getIndexFieldMap()); - Map originSortedAllFiledMap = fieldCache.getSortedAllFiledMap(); + Map originSortedAllFieldMap = fieldCache.getSortedAllFieldMap(); if (!needIgnore) { - sortedAllFiledMap.putAll(originSortedAllFiledMap); + sortedAllFieldMap.putAll(originSortedAllFieldMap); return; } int index = 0; - for (Map.Entry entry : originSortedAllFiledMap.entrySet()) { + for (Map.Entry entry : originSortedAllFieldMap.entrySet()) { Integer key = entry.getKey(); Field field = entry.getValue(); @@ -239,22 +239,22 @@ public class ClassUtils { } else { // Mandatory sorted fields if (tempIndexFieldMap.containsKey(key)) { - sortedAllFiledMap.put(key, field); + sortedAllFieldMap.put(key, field); } else { // Need to reorder automatically // Check whether the current key is already in use - while (sortedAllFiledMap.containsKey(index)) { + while (sortedAllFieldMap.containsKey(index)) { index++; } - sortedAllFiledMap.put(index++, field); + sortedAllFieldMap.put(index++, field); } } } } - public static void declaredFields(Class clazz, Map sortedAllFiledMap, Boolean needIgnore, + public static void declaredFields(Class clazz, Map sortedAllFieldMap, Boolean needIgnore, WriteHolder writeHolder) { - declaredFields(clazz, sortedAllFiledMap, null, null, needIgnore, writeHolder); + declaredFields(clazz, sortedAllFieldMap, null, null, needIgnore, writeHolder); } private static FieldCache declaredFields(Class clazz) { @@ -272,43 +272,43 @@ public class ClassUtils { tempClass = tempClass.getSuperclass(); } // Screening of field - Map> orderFiledMap = new TreeMap>(); - Map indexFiledMap = new TreeMap(); + Map> orderFieldMap = new TreeMap>(); + Map indexFieldMap = new TreeMap(); Map ignoreMap = new HashMap(16); ExcelIgnoreUnannotated excelIgnoreUnannotated = clazz.getAnnotation(ExcelIgnoreUnannotated.class); for (Field field : tempFieldList) { - declaredOneField(field, orderFiledMap, indexFiledMap, ignoreMap, excelIgnoreUnannotated); + declaredOneField(field, orderFieldMap, indexFieldMap, ignoreMap, excelIgnoreUnannotated); } - return new FieldCache(buildSortedAllFiledMap(orderFiledMap, indexFiledMap), indexFiledMap, ignoreMap); + return new FieldCache(buildSortedAllFieldMap(orderFieldMap, indexFieldMap), indexFieldMap, ignoreMap); }); } - private static Map buildSortedAllFiledMap(Map> orderFiledMap, - Map indexFiledMap) { + private static Map buildSortedAllFieldMap(Map> orderFieldMap, + Map indexFieldMap) { - Map sortedAllFiledMap = new HashMap( - (orderFiledMap.size() + indexFiledMap.size()) * 4 / 3 + 1); + Map sortedAllFieldMap = new HashMap( + (orderFieldMap.size() + indexFieldMap.size()) * 4 / 3 + 1); - Map tempIndexFiledMap = new HashMap(indexFiledMap); + Map tempIndexFieldMap = new HashMap(indexFieldMap); int index = 0; - for (List fieldList : orderFiledMap.values()) { + for (List fieldList : orderFieldMap.values()) { for (Field field : fieldList) { - while (tempIndexFiledMap.containsKey(index)) { - sortedAllFiledMap.put(index, tempIndexFiledMap.get(index)); - tempIndexFiledMap.remove(index); + while (tempIndexFieldMap.containsKey(index)) { + sortedAllFieldMap.put(index, tempIndexFieldMap.get(index)); + tempIndexFieldMap.remove(index); index++; } - sortedAllFiledMap.put(index, field); + sortedAllFieldMap.put(index, field); index++; } } - sortedAllFiledMap.putAll(tempIndexFiledMap); - return sortedAllFiledMap; + sortedAllFieldMap.putAll(tempIndexFieldMap); + return sortedAllFieldMap; } - private static void declaredOneField(Field field, Map> orderFiledMap, - Map indexFiledMap, Map ignoreMap, + private static void declaredOneField(Field field, Map> orderFieldMap, + Map indexFieldMap, Map ignoreMap, ExcelIgnoreUnannotated excelIgnoreUnannotated) { ExcelIgnore excelIgnore = field.getAnnotation(ExcelIgnore.class); @@ -330,11 +330,11 @@ public class ClassUtils { return; } if (excelProperty != null && excelProperty.index() >= 0) { - if (indexFiledMap.containsKey(excelProperty.index())) { - throw new ExcelCommonException("The index of '" + indexFiledMap.get(excelProperty.index()).getName() + if (indexFieldMap.containsKey(excelProperty.index())) { + throw new ExcelCommonException("The index of '" + indexFieldMap.get(excelProperty.index()).getName() + "' and '" + field.getName() + "' must be inconsistent"); } - indexFiledMap.put(excelProperty.index(), field); + indexFieldMap.put(excelProperty.index(), field); return; } @@ -342,29 +342,29 @@ public class ClassUtils { if (excelProperty != null) { order = excelProperty.order(); } - List orderFiledList = orderFiledMap.computeIfAbsent(order, key -> ListUtils.newArrayList()); - orderFiledList.add(field); + List orderFieldList = orderFieldMap.computeIfAbsent(order, key -> ListUtils.newArrayList()); + orderFieldList.add(field); } private static class FieldCache { - private final Map sortedAllFiledMap; - private final Map indexFiledMap; + private final Map sortedAllFieldMap; + private final Map indexFieldMap; private final Map ignoreMap; - public FieldCache(Map sortedAllFiledMap, Map indexFiledMap, + public FieldCache(Map sortedAllFieldMap, Map indexFieldMap, Map ignoreMap) { - this.sortedAllFiledMap = sortedAllFiledMap; - this.indexFiledMap = indexFiledMap; + this.sortedAllFieldMap = sortedAllFieldMap; + this.indexFieldMap = indexFieldMap; this.ignoreMap = ignoreMap; } - public Map getSortedAllFiledMap() { - return sortedAllFiledMap; + public Map getSortedAllFieldMap() { + return sortedAllFieldMap; } - public Map getIndexFiledMap() { - return indexFiledMap; + public Map getIndexFieldMap() { + return indexFieldMap; } public Map getIgnoreMap() { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java index 583bc6f3..42cc3e4a 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/FieldUtils.java @@ -30,9 +30,9 @@ public class FieldUtils { private static final int START_RESOLVE_FIELD_LENGTH = 2; - public static Class getFieldClass(Map dataMap, String filedName, Object value) { + public static Class getFieldClass(Map dataMap, String fieldName, Object value) { if (dataMap instanceof BeanMap) { - Class fieldClass = ((BeanMap)dataMap).getPropertyType(filedName); + Class fieldClass = ((BeanMap)dataMap).getPropertyType(fieldName); if (fieldClass != null) { return fieldClass; } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java index 751ae5cd..f8844a52 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/AbstractExcelWriterParameterBuilder.java @@ -77,11 +77,21 @@ public abstract class AbstractExcelWriterParameterBuilder excludeColumnFieldNames) { + parameter().setExcludeColumnFieldNames(excludeColumnFieldNames); + return self(); + } + /** * Ignore the custom columns. */ - public T excludeColumnFiledNames(Collection excludeColumnFiledNames) { - parameter().setExcludeColumnFieldNames(excludeColumnFiledNames); + public T excludeColumnFieldNames(Collection excludeColumnFieldNames) { + parameter().setExcludeColumnFieldNames(excludeColumnFieldNames); return self(); } @@ -95,10 +105,19 @@ public abstract class AbstractExcelWriterParameterBuilder includeColumnFiledNames) { - parameter().setIncludeColumnFieldNames(includeColumnFiledNames); + public T includeColumnFiledNames(Collection includeColumnFieldNames) { + parameter().setIncludeColumnFieldNames(includeColumnFieldNames); return self(); } + /** + * Only output the custom columns. + */ + public T includeColumnFieldNames(Collection includeColumnFieldNames) { + parameter().setIncludeColumnFieldNames(includeColumnFieldNames); + return self(); + } } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java index 459f0a7a..46ab5b63 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/executor/ExcelWriteAddExecutor.java @@ -50,18 +50,18 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { if (writeSheetHolder.isNew() && !writeSheetHolder.getExcelWriteHeadProperty().hasHead()) { newRowIndex += writeContext.currentWriteHolder().relativeHeadRowIndex(); } - // BeanMap is out of order, so use sortedAllFiledMap - Map sortedAllFiledMap = new TreeMap<>(); + // BeanMap is out of order, so use sortedAllFieldMap + Map sortedAllFieldMap = new TreeMap<>(); int relativeRowIndex = 0; for (Object oneRowData : data) { int lastRowIndex = relativeRowIndex + newRowIndex; - addOneRowOfDataToExcel(oneRowData, lastRowIndex, relativeRowIndex, sortedAllFiledMap); + addOneRowOfDataToExcel(oneRowData, lastRowIndex, relativeRowIndex, sortedAllFieldMap); relativeRowIndex++; } } private void addOneRowOfDataToExcel(Object oneRowData, int rowIndex, int relativeRowIndex, - Map sortedAllFiledMap) { + Map sortedAllFieldMap) { if (oneRowData == null) { return; } @@ -79,7 +79,7 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { } else if (oneRowData instanceof Map) { addBasicTypeToExcel(new MapRowData((Map)oneRowData), row, rowIndex, relativeRowIndex); } else { - addJavaObjectToExcel(oneRowData, row, rowIndex, relativeRowIndex, sortedAllFiledMap); + addJavaObjectToExcel(oneRowData, row, rowIndex, relativeRowIndex, sortedAllFieldMap); } WriteHandlerUtils.afterRowDispose(rowWriteHandlerContext); @@ -139,7 +139,7 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { } private void addJavaObjectToExcel(Object oneRowData, Row row, int rowIndex, int relativeRowIndex, - Map sortedAllFiledMap) { + Map sortedAllFieldMap) { WriteHolder currentWriteHolder = writeContext.currentWriteHolder(); BeanMap beanMap = BeanMapUtils.create(oneRowData); // Bean the contains of the Map Key method with poor performance,So to create a keySet here @@ -186,18 +186,18 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { maxCellIndex++; Map ignoreMap = writeContext.currentWriteHolder().excelWriteHeadProperty().getIgnoreMap(); - initSortedAllFiledMapFieldList(oneRowData.getClass(), sortedAllFiledMap); - for (Map.Entry entry : sortedAllFiledMap.entrySet()) { + initSortedAllFieldMapFieldList(oneRowData.getClass(), sortedAllFieldMap); + for (Map.Entry entry : sortedAllFieldMap.entrySet()) { Field field = entry.getValue(); - String filedName = FieldUtils.resolveCglibFieldName(field); - boolean uselessData = !beanKeySet.contains(filedName) || beanMapHandledSet.contains(filedName) - || ignoreMap.containsKey(filedName); + String fieldName = FieldUtils.resolveCglibFieldName(field); + boolean uselessData = !beanKeySet.contains(fieldName) || beanMapHandledSet.contains(fieldName) + || ignoreMap.containsKey(fieldName); if (uselessData) { continue; } - Object value = beanMap.get(filedName); + Object value = beanMap.get(fieldName); ExcelContentProperty excelContentProperty = ClassUtils.declaredExcelContentProperty(beanMap, - currentWriteHolder.excelWriteHeadProperty().getHeadClazz(), filedName); + currentWriteHolder.excelWriteHeadProperty().getHeadClazz(), fieldName); CellWriteHandlerContext cellWriteHandlerContext = WriteHandlerUtils.createCellWriteHandlerContext( writeContext, row, rowIndex, null, maxCellIndex, relativeRowIndex, Boolean.FALSE, excelContentProperty); WriteHandlerUtils.beforeCellCreate(cellWriteHandlerContext); @@ -210,7 +210,7 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { WriteHandlerUtils.afterCellCreate(cellWriteHandlerContext); cellWriteHandlerContext.setOriginalValue(value); - cellWriteHandlerContext.setOriginalFieldClass(FieldUtils.getFieldClass(beanMap, filedName, value)); + cellWriteHandlerContext.setOriginalFieldClass(FieldUtils.getFieldClass(beanMap, fieldName, value)); converterAndSet(cellWriteHandlerContext); WriteHandlerUtils.afterCellDispose(cellWriteHandlerContext); @@ -218,8 +218,8 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { } } - private void initSortedAllFiledMapFieldList(Class clazz, Map sortedAllFiledMap) { - if (!sortedAllFiledMap.isEmpty()) { + private void initSortedAllFieldMapFieldList(Class clazz, Map sortedAllFieldMap) { + if (!sortedAllFieldMap.isEmpty()) { return; } @@ -229,7 +229,7 @@ public class ExcelWriteAddExecutor extends AbstractExcelWriteExecutor { .isEmpty(writeSheetHolder.getExcludeColumnIndexes()) || !CollectionUtils .isEmpty(writeSheetHolder.getIncludeColumnFieldNames()) || !CollectionUtils .isEmpty(writeSheetHolder.getIncludeColumnIndexes()); - ClassUtils.declaredFields(clazz, sortedAllFiledMap, needIgnore, writeSheetHolder); + ClassUtils.declaredFields(clazz, sortedAllFieldMap, needIgnore, writeSheetHolder); } } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java index 54d9d5a4..9bf69821 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java @@ -25,30 +25,30 @@ public class ExcludeOrIncludeDataTest { private static File excludeIndex07; private static File excludeIndex03; private static File excludeIndexCsv; - private static File excludeFiledName07; - private static File excludeFiledName03; - private static File excludeFiledNameCsv; + private static File excludeFieldName07; + private static File excludeFieldName03; + private static File excludeFieldNameCsv; private static File includeIndex07; private static File includeIndex03; private static File includeIndexCsv; - private static File includeFiledName07; - private static File includeFiledName03; - private static File includeFiledNameCsv; + private static File includeFieldName07; + private static File includeFieldName03; + private static File includeFieldNameCsv; @BeforeClass public static void init() { excludeIndex07 = TestFileUtil.createNewFile("excludeIndex.xlsx"); excludeIndex03 = TestFileUtil.createNewFile("excludeIndex.xls"); excludeIndexCsv = TestFileUtil.createNewFile("excludeIndex.csv"); - excludeFiledName07 = TestFileUtil.createNewFile("excludeFiledName.xlsx"); - excludeFiledName03 = TestFileUtil.createNewFile("excludeFiledName.xls"); - excludeFiledNameCsv = TestFileUtil.createNewFile("excludeFiledName.csv"); + excludeFieldName07 = TestFileUtil.createNewFile("excludeFieldName.xlsx"); + excludeFieldName03 = TestFileUtil.createNewFile("excludeFieldName.xls"); + excludeFieldNameCsv = TestFileUtil.createNewFile("excludeFieldName.csv"); includeIndex07 = TestFileUtil.createNewFile("includeIndex.xlsx"); includeIndex03 = TestFileUtil.createNewFile("includeIndex.xls"); includeIndexCsv = TestFileUtil.createNewFile("includeIndex.csv"); - includeFiledName07 = TestFileUtil.createNewFile("includeFiledName.xlsx"); - includeFiledName03 = TestFileUtil.createNewFile("includeFiledName.xls"); - includeFiledNameCsv = TestFileUtil.createNewFile("includeFiledName.csv"); + includeFieldName07 = TestFileUtil.createNewFile("includeFieldName.xlsx"); + includeFieldName03 = TestFileUtil.createNewFile("includeFieldName.xls"); + includeFieldNameCsv = TestFileUtil.createNewFile("includeFieldName.csv"); } @Test @@ -67,18 +67,18 @@ public class ExcludeOrIncludeDataTest { } @Test - public void t11ExcludeFiledName07() { - excludeFiledName(excludeFiledName07); + public void t11ExcludeFieldName07() { + excludeFieldName(excludeFieldName07); } @Test - public void t12ExcludeFiledName03() { - excludeFiledName(excludeFiledName03); + public void t12ExcludeFieldName03() { + excludeFieldName(excludeFieldName03); } @Test - public void t13ExcludeFiledNameCsv() { - excludeFiledName(excludeFiledNameCsv); + public void t13ExcludeFieldNameCsv() { + excludeFieldName(excludeFieldNameCsv); } @@ -98,18 +98,18 @@ public class ExcludeOrIncludeDataTest { } @Test - public void t31IncludeFiledName07() { - includeFiledName(includeFiledName07); + public void t31IncludeFieldName07() { + includeFieldName(includeFieldName07); } @Test - public void t32IncludeFiledName03() { - includeFiledName(includeFiledName03); + public void t32IncludeFieldName03() { + includeFieldName(includeFieldName03); } @Test - public void t33IncludeFiledNameCsv() { - includeFiledName(includeFiledNameCsv); + public void t33IncludeFieldNameCsv() { + includeFieldName(includeFieldNameCsv); } private void excludeIndex(File file) { @@ -127,12 +127,12 @@ public class ExcludeOrIncludeDataTest { } - private void excludeFiledName(File file) { - Set excludeColumnFiledNames = new HashSet(); - excludeColumnFiledNames.add("column1"); - excludeColumnFiledNames.add("column3"); - excludeColumnFiledNames.add("column4"); - EasyExcel.write(file, ExcludeOrIncludeData.class).excludeColumnFiledNames(excludeColumnFiledNames).sheet() + private void excludeFieldName(File file) { + Set excludeColumnFieldNames = new HashSet(); + excludeColumnFieldNames.add("column1"); + excludeColumnFieldNames.add("column3"); + excludeColumnFieldNames.add("column4"); + EasyExcel.write(file, ExcludeOrIncludeData.class).excludeColumnFieldNames(excludeColumnFieldNames).sheet() .doWrite(data()); List> dataMap = EasyExcel.read(file).sheet().doReadSync(); Assert.assertEquals(1, dataMap.size()); @@ -157,11 +157,11 @@ public class ExcludeOrIncludeDataTest { } - private void includeFiledName(File file) { - Set includeColumnFiledNames = new HashSet(); - includeColumnFiledNames.add("column2"); - includeColumnFiledNames.add("column3"); - EasyExcel.write(file, ExcludeOrIncludeData.class).includeColumnFiledNames(includeColumnFiledNames).sheet() + private void includeFieldName(File file) { + Set includeColumnFieldNames = new HashSet(); + includeColumnFieldNames.add("column2"); + includeColumnFieldNames.add("column3"); + EasyExcel.write(file, ExcludeOrIncludeData.class).includeColumnFieldNames(includeColumnFieldNames).sheet() .doWrite(data()); List> dataMap = EasyExcel.read(file).sheet().doReadSync(); Assert.assertEquals(1, dataMap.size()); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 40357ed9..41372f6a 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -119,18 +119,18 @@ public class WriteTest { // 这里需要注意 在使用ExcelProperty注解的使用,如果想不空列则需要加入order字段,而不是index,order会忽略空列,然后继续往后,而index,不会忽略空列,在第几列就是第几列。 // 根据用户传入字段 假设我们要忽略 date - Set excludeColumnFiledNames = new HashSet<>(); - excludeColumnFiledNames.add("date"); + Set excludeColumnFieldNames = new HashSet<>(); + excludeColumnFieldNames.add("date"); // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 - EasyExcel.write(fileName, DemoData.class).excludeColumnFiledNames(excludeColumnFiledNames).sheet("模板") + EasyExcel.write(fileName, DemoData.class).excludeColumnFieldNames(excludeColumnFieldNames).sheet("模板") .doWrite(data()); fileName = TestFileUtil.getPath() + "excludeOrIncludeWrite" + System.currentTimeMillis() + ".xlsx"; // 根据用户传入字段 假设我们只要导出 date - Set includeColumnFiledNames = new HashSet<>(); - includeColumnFiledNames.add("date"); + Set includeColumnFieldNames = new HashSet<>(); + includeColumnFieldNames.add("date"); // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 - EasyExcel.write(fileName, DemoData.class).includeColumnFiledNames(includeColumnFiledNames).sheet("模板") + EasyExcel.write(fileName, DemoData.class).includeColumnFieldNames(includeColumnFieldNames).sheet("模板") .doWrite(data()); } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java index ece50bd6..c3a6654a 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java @@ -164,18 +164,18 @@ public class StyleTest { public void testFormatter2() throws Exception { StyleData styleData = new StyleData(); Field field = styleData.getClass().getDeclaredField("byteValue"); - LOGGER.info("filed:{}", field.getType().getName()); + LOGGER.info("field:{}", field.getType().getName()); field = styleData.getClass().getDeclaredField("byteValue2"); - LOGGER.info("filed:{}", field.getType().getName()); + LOGGER.info("field:{}", field.getType().getName()); field = styleData.getClass().getDeclaredField("byteValue4"); - LOGGER.info("filed:{}", field.getType()); + LOGGER.info("field:{}", field.getType()); field = styleData.getClass().getDeclaredField("byteValue3"); - LOGGER.info("filed:{}", field.getType()); + LOGGER.info("field:{}", field.getType()); } @Test public void testFormatter3() throws Exception { - LOGGER.info("filed:{}", Byte.class == Byte.class); + LOGGER.info("field:{}", Byte.class == Byte.class); } private void isDate(Cell cell) { diff --git a/update.md b/update.md index 33bce517..f35a7651 100644 --- a/update.md +++ b/update.md @@ -3,6 +3,7 @@ * 在有样式没有数据的情况下也算空行 [Issue #2294](https://github.com/alibaba/easyexcel/issues/2294) * 修复无法根据文件流判断csv的bug [Issue #2297](https://github.com/alibaba/easyexcel/issues/2297) * 修复CSV不关闭流的bug [Issue #2309](https://github.com/alibaba/easyexcel/issues/2309) +* 修复`filed`拼接错误 [Issue #2390](https://github.com/alibaba/easyexcel/issues/2390) # 3.0.5 From f07df6237a9b06513bcd7171200b8d14c9fc5f2a Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 6 Apr 2022 20:16:45 +0800 Subject: [PATCH 25/68] =?UTF-8?q?=E6=B5=8B=E8=AF=95formatter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alibaba/easyexcel/test/temp/Lock2Test.java | 2 +- .../easyexcel/test/temp/poi/PoiFormatTest.java | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java index 8c9badfe..63141ba4 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java @@ -37,7 +37,7 @@ public class Lock2Test { // File file = TestFileUtil.readUserHomeFile("test/test6.xls"); File file = new File("/Users/zhuangjiaju/IdeaProjects/easyexcel/src/test/resources/converter/converter07.xlsx"); - List list = EasyExcel.read("/Users/zhuangjiaju/test/test3.xlsx").sheet(0).headRowNumber(0).doReadSync(); + List list = EasyExcel.read("/Users/zhuangjiaju/Downloads/测试格式.xlsx").sheet(0).headRowNumber(0).doReadSync(); LOGGER.info("数据:{}", list.size()); for (Object data : list) { LOGGER.info("返回数据:{}", CollectionUtils.size(data)); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java index 1f31f9cc..a9e2ce36 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java +++ b/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java @@ -2,11 +2,17 @@ package com.alibaba.easyexcel.test.temp.poi; import java.io.File; import java.io.IOException; +import java.util.Locale; +import org.apache.poi.hssf.usermodel.HSSFDataFormatter; +import org.apache.poi.ss.usermodel.DataFormatter; import org.apache.poi.ss.usermodel.DateUtil; +import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; +import org.apache.poi.xssf.usermodel.XSSFCell; +import org.apache.poi.xssf.usermodel.XSSFDataFormat; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -40,14 +46,15 @@ public class PoiFormatTest { @Test public void lastRowNumXSSF() throws IOException { - String file = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String file = "/Users/zhuangjiaju/Downloads/测试格式.xlsx"; XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file); LOGGER.info("一共:{}个sheet", xssfWorkbook.getNumberOfSheets()); XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); LOGGER.info("一共行数:{}", xssfSheet.getLastRowNum()); - XSSFRow row = xssfSheet.getRow(0); - LOGGER.info("第一行数据:{}", row); - xssfSheet.createRow(20); - LOGGER.info("一共行数:{}", xssfSheet.getLastRowNum()); + XSSFRow row = xssfSheet.getRow(1); + XSSFCell xssfCell = row.getCell(0); + DataFormatter d = new DataFormatter(Locale.CHINA); + LOGGER.info("fo:{}", d.formatCellValue(xssfCell)); + } } From 407fd2574867219baf3842906f5ca9b3a8752035 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 6 Apr 2022 22:38:36 +0800 Subject: [PATCH 26/68] =?UTF-8?q?*=20=E4=BF=AE=E5=A4=8D`BigIntegerStringCo?= =?UTF-8?q?nverter`=E6=97=A0=E6=95=88=E7=9A=84bug=20[Issue=20#2325](https:?= =?UTF-8?q?//github.com/alibaba/easyexcel/issues/2325)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/converters/biginteger/BigIntegerStringConverter.java | 2 +- update.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java b/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java index 4894ac16..aa553108 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/converters/biginteger/BigIntegerStringConverter.java @@ -37,6 +37,6 @@ public class BigIntegerStringConverter implements Converter { @Override public WriteCellData convertToExcelData(BigInteger value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) { - return NumberUtils.formatToCellData(value, contentProperty); + return NumberUtils.formatToCellDataString(value, contentProperty); } } diff --git a/update.md b/update.md index f35a7651..5d576965 100644 --- a/update.md +++ b/update.md @@ -4,6 +4,7 @@ * 修复无法根据文件流判断csv的bug [Issue #2297](https://github.com/alibaba/easyexcel/issues/2297) * 修复CSV不关闭流的bug [Issue #2309](https://github.com/alibaba/easyexcel/issues/2309) * 修复`filed`拼接错误 [Issue #2390](https://github.com/alibaba/easyexcel/issues/2390) +* 修复`BigIntegerStringConverter`无效的bug [Issue #2325](https://github.com/alibaba/easyexcel/issues/2325) # 3.0.5 From caebcdadc641a169c123d8a7e4af9d86b6bd7d0d Mon Sep 17 00:00:00 2001 From: Li Sueng Date: Wed, 13 Apr 2022 11:14:02 +0800 Subject: [PATCH 27/68] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=9C=AA=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E7=9A=84=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java | 1 - .../alibaba/excel/analysis/v03/handlers/EofRecordHandler.java | 1 - .../src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java | 2 -- .../src/main/java/com/alibaba/excel/util/IntUtils.java | 3 --- 4 files changed, 7 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java index 83f98647..422ad090 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java @@ -11,7 +11,6 @@ import org.apache.poi.hssf.eventusermodel.HSSFEventFactory; import org.apache.poi.hssf.eventusermodel.HSSFListener; import org.apache.poi.hssf.eventusermodel.HSSFRequest; import org.apache.poi.hssf.eventusermodel.MissingRecordAwareHSSFListener; -import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord; import org.apache.poi.hssf.record.BOFRecord; import org.apache.poi.hssf.record.BlankRecord; import org.apache.poi.hssf.record.BoolErrRecord; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java index 32b5b882..448dcb49 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/EofRecordHandler.java @@ -2,7 +2,6 @@ package com.alibaba.excel.analysis.v03.handlers; import java.util.LinkedHashMap; -import org.apache.poi.hssf.eventusermodel.dummyrecord.LastCellOfRowDummyRecord; import org.apache.poi.hssf.record.Record; import com.alibaba.excel.analysis.v03.IgnorableXlsRecordHandler; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java b/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java index 97999a71..09ab04ec 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/support/ExcelTypeEnum.java @@ -4,7 +4,6 @@ import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; -import java.util.Arrays; import com.alibaba.excel.exception.ExcelAnalysisException; import com.alibaba.excel.exception.ExcelCommonException; @@ -12,7 +11,6 @@ import com.alibaba.excel.read.metadata.ReadWorkbook; import com.alibaba.excel.util.StringUtils; import lombok.Getter; -import org.apache.poi.poifs.filesystem.FileMagic; import org.apache.poi.util.IOUtils; /** diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/IntUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/IntUtils.java index 6d2e244c..bca73f10 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/IntUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/IntUtils.java @@ -1,8 +1,5 @@ package com.alibaba.excel.util; -import java.util.ArrayList; -import java.util.List; - /** * Int utils * From 578784e9608dc596fd47d9ecc1d952df47a60c03 Mon Sep 17 00:00:00 2001 From: khw <11910710@mail.sustech.edu.cn> Date: Sun, 24 Apr 2022 21:53:31 +0800 Subject: [PATCH 28/68] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=86int=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E4=BF=9D=E7=95=99=E5=B0=8F=E6=95=B0=E7=B2=BE=E5=BA=A6?= =?UTF-8?q?=E6=95=B4=E6=95=B0=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alibaba/excel/util/NumberUtils.java | 13 +++++++ .../test/temp/issue2443/Issue2443.java | 15 ++++++++ .../test/temp/issue2443/Issue2443Test.java | 36 ++++++++++++++++++ src/test/resources/temp/issue2443/date1.xlsx | Bin 0 -> 10195 bytes src/test/resources/temp/issue2443/date2.xlsx | Bin 0 -> 10213 bytes 5 files changed, 64 insertions(+) create mode 100644 src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java create mode 100644 src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java create mode 100644 src/test/resources/temp/issue2443/date1.xlsx create mode 100644 src/test/resources/temp/issue2443/date2.xlsx diff --git a/src/main/java/com/alibaba/excel/util/NumberUtils.java b/src/main/java/com/alibaba/excel/util/NumberUtils.java index c467762c..a5f1c512 100644 --- a/src/main/java/com/alibaba/excel/util/NumberUtils.java +++ b/src/main/java/com/alibaba/excel/util/NumberUtils.java @@ -103,6 +103,19 @@ public class NumberUtils { */ public static Integer parseInteger(String string, ExcelContentProperty contentProperty) throws ParseException { if (!hasFormat(contentProperty)) { + // CS304 Issue link: https://github.com/alibaba/easyexcel/issues/2443 + int stringLength = string.length(); + if(stringLength>0){ + int pointer = stringLength; + for(int i=0;i(dataList -> { + for (Issue2443 issueData : dataList) { + log.info("读取到一条数据{}", JSON.toJSONString(issueData)); + } + })).sheet().doRead(); + } + //CS304 (manually written) Issue link: https://github.com/alibaba/easyexcel/issues/2443 + @Test + public void IssueTest2() { + String fileName = TestFileUtil.getPath() + "temp/issue2443" + File.separator + "date2.xlsx"; + EasyExcel.read(fileName, Issue2443.class, new PageReadListener(dataList -> { + for (Issue2443 issueData : dataList) { + log.info("读取到一条数据{}", JSON.toJSONString(issueData)); + } + })).sheet().doRead(); + } +} diff --git a/src/test/resources/temp/issue2443/date1.xlsx b/src/test/resources/temp/issue2443/date1.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..92ef811d9e90289f076a5aefdc30e266ed7bd0cd GIT binary patch literal 10195 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 CIG+9h literal 0 HcmV?d00001 diff --git a/src/test/resources/temp/issue2443/date2.xlsx b/src/test/resources/temp/issue2443/date2.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..c6feb3251b27aa297c7636f90a562b116de71316 GIT binary patch literal 10213 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πAa3gYJxI>4+}B}S&Ki#bRbPHEAsj+m0_tp_ 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 bQhpYT<)xq>qnHOLfe9A(ux1{> Date: Sun, 24 Apr 2022 23:03:19 +0800 Subject: [PATCH 29/68] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86javadoc?= =?UTF-8?q?=E5=92=8C=E5=AF=B9method=E7=9A=84=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alibaba/excel/util/NumberUtils.java | 8 +++---- .../test/temp/issue2443/Issue2443Test.java | 22 ++++++++++++++++++- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/alibaba/excel/util/NumberUtils.java b/src/main/java/com/alibaba/excel/util/NumberUtils.java index a5f1c512..d52a3299 100644 --- a/src/main/java/com/alibaba/excel/util/NumberUtils.java +++ b/src/main/java/com/alibaba/excel/util/NumberUtils.java @@ -95,11 +95,11 @@ public class NumberUtils { } /** - * parse + * parse Integer from string * - * @param string - * @param contentProperty - * @return + * @param string An integer read in string format + * @param contentProperty Properties of the content read in + * @return An integer converted from a string */ public static Integer parseInteger(String string, ExcelContentProperty contentProperty) throws ParseException { if (!hasFormat(contentProperty)) { diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java b/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java index 4695f293..57484b74 100644 --- a/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java +++ b/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java @@ -1,14 +1,17 @@ package com.alibaba.easyexcel.test.temp.issue2443; import com.alibaba.easyexcel.test.util.TestFileUtil; +import com.alibaba.excel.metadata.property.ExcelContentProperty; +import com.alibaba.excel.util.NumberUtils; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.read.listener.PageReadListener; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.junit.Ignore; import org.junit.Test; - +import static org.junit.Assert.*; import java.io.File; +import java.text.ParseException; @Ignore @Slf4j @@ -33,4 +36,21 @@ public class Issue2443Test { } })).sheet().doRead(); } + + @Test + public void parseIntegerTest1() throws ParseException { + String string = "1.00"; + ExcelContentProperty contentProperty = null; + int Int = NumberUtils.parseInteger(string,contentProperty); + assertEquals(1, Int); + } + + @Test + public void parseIntegerTest2() throws ParseException { + String string = "2.00"; + ExcelContentProperty contentProperty = null; + int Int = NumberUtils.parseInteger(string,contentProperty); + assertEquals(2, Int); + } + } From f5d2621de60c11adacaf99dce7a1cd0e02450662 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 5 May 2022 22:11:43 +0800 Subject: [PATCH 30/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1ac84da0..9a3e0b96 100644 --- a/README.md +++ b/README.md @@ -26,9 +26,28 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 当然还有极速模式能更快,但是内存占用会在100M多一点 ![img](img/readme/large.png) -## 版本支持 -* 2+ 版本支持 Java7和Java6 -* 3+ 版本至少 Java8 +## 关于版本选择 +| 版本 | poi依赖版本(支持范围) | jdk版本支持范围 | 备注 | +|--------------------|---------------------|------------|---------------------------------------------| +| 3.1.0+ | 4.1.2(4.1.2 - 5.2.2) | jkd8-jdk17 | 推荐使用,会更新的版本 | +| 3.0.0-beta1 - 3.0.5 | 4.1.2(4.1.2 - 5.2.2) | jkd8-jdk11 | 不推荐项目新引入此版本,除非超级严重bug,否则不再更新 | +| 2.0.0-beta1-2.2.11 | 3.17(3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,除非是jdk6否则不推荐使用,除非超级严重bug,否则不再更新 | +| 1+版本 | 3.17(3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,超级严重bug,也不再更新 | +注意: 3+版本的的easyexcel,使用poi 5+版本时,需要手动排除:poi-ooxml-schemas,例如: +```xml + + com.alibaba + easyexcel + 3.1.0 + + + poi-ooxml-schemas + org.apache.poi + + + +``` + ### 关于版本升级 * 不建议跨大版本升级 尤其跨2个大版本 * 2+ 升级到 3+ 一些不兼容的地方 @@ -42,7 +61,7 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 com.alibaba easyexcel - 3.0.5 + 3.1.0 ``` From 993b3b4e561ebbce01d67c263a45bac472cf36b7 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 5 May 2022 22:14:14 +0800 Subject: [PATCH 31/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9a3e0b96..8224679d 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,12 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 ![img](img/readme/large.png) ## 关于版本选择 -| 版本 | poi依赖版本(支持范围) | jdk版本支持范围 | 备注 | -|--------------------|---------------------|------------|---------------------------------------------| -| 3.1.0+ | 4.1.2(4.1.2 - 5.2.2) | jkd8-jdk17 | 推荐使用,会更新的版本 | -| 3.0.0-beta1 - 3.0.5 | 4.1.2(4.1.2 - 5.2.2) | jkd8-jdk11 | 不推荐项目新引入此版本,除非超级严重bug,否则不再更新 | -| 2.0.0-beta1-2.2.11 | 3.17(3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,除非是jdk6否则不推荐使用,除非超级严重bug,否则不再更新 | -| 1+版本 | 3.17(3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,超级严重bug,也不再更新 | +| 版本 | poi依赖版本 (支持范围) | jdk版本支持范围 | 备注 | +|--------------------|-----------------------|------------|---------------------------------------------| +| 3.1.0+ | 4.1.2 (4.1.2 - 5.2.2) | jkd8-jdk17 | 推荐使用,会更新的版本 | +| 3.0.0-beta1 - 3.0.5 | 4.1.2 (4.1.2 - 5.2.2) | jkd8-jdk11 | 不推荐项目新引入此版本,除非超级严重bug,否则不再更新 | +| 2.0.0-beta1-2.2.11 | 3.17 (3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,除非是jdk6否则不推荐使用,除非超级严重bug,否则不再更新 | +| 1+版本 | 3.17 (3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,超级严重bug,也不再更新 | 注意: 3+版本的的easyexcel,使用poi 5+版本时,需要手动排除:poi-ooxml-schemas,例如: ```xml From d6dbe2a1e9b45b9d0c95255b4cf991507ceffd27 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 5 May 2022 22:14:31 +0800 Subject: [PATCH 32/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 8224679d..ccd39585 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,12 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 ![img](img/readme/large.png) ## 关于版本选择 -| 版本 | poi依赖版本 (支持范围) | jdk版本支持范围 | 备注 | -|--------------------|-----------------------|------------|---------------------------------------------| -| 3.1.0+ | 4.1.2 (4.1.2 - 5.2.2) | jkd8-jdk17 | 推荐使用,会更新的版本 | -| 3.0.0-beta1 - 3.0.5 | 4.1.2 (4.1.2 - 5.2.2) | jkd8-jdk11 | 不推荐项目新引入此版本,除非超级严重bug,否则不再更新 | -| 2.0.0-beta1-2.2.11 | 3.17 (3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,除非是jdk6否则不推荐使用,除非超级严重bug,否则不再更新 | -| 1+版本 | 3.17 (3.17 - 4.1.2) | jdk6-jdk11 | 不推荐项目新引入此版本,超级严重bug,也不再更新 | +| 版本 | poi依赖版本 (支持范围) | jdk版本支持范围 | 备注 | +|--------------------|-----------------------|--------------|---------------------------------------------| +| 3.1.0+ | 4.1.2 (4.1.2 - 5.2.2) | jkd8 - jdk17 | 推荐使用,会更新的版本 | +| 3.0.0-beta1 - 3.0.5 | 4.1.2 (4.1.2 - 5.2.2) | jkd8 - jdk11 | 不推荐项目新引入此版本,除非超级严重bug,否则不再更新 | +| 2.0.0-beta1-2.2.11 | 3.17 (3.17 - 4.1.2) | jdk6 - jdk11 | 不推荐项目新引入此版本,除非是jdk6否则不推荐使用,除非超级严重bug,否则不再更新 | +| 1+版本 | 3.17 (3.17 - 4.1.2) | jdk6 - jdk11 | 不推荐项目新引入此版本,超级严重bug,也不再更新 | 注意: 3+版本的的easyexcel,使用poi 5+版本时,需要手动排除:poi-ooxml-schemas,例如: ```xml From 6ba1620dd0ab81c411f852450f54df17fa9d0b1f Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 5 May 2022 22:15:13 +0800 Subject: [PATCH 33/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ccd39585..fe351a13 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,7 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 | 3.0.0-beta1 - 3.0.5 | 4.1.2 (4.1.2 - 5.2.2) | jkd8 - jdk11 | 不推荐项目新引入此版本,除非超级严重bug,否则不再更新 | | 2.0.0-beta1-2.2.11 | 3.17 (3.17 - 4.1.2) | jdk6 - jdk11 | 不推荐项目新引入此版本,除非是jdk6否则不推荐使用,除非超级严重bug,否则不再更新 | | 1+版本 | 3.17 (3.17 - 4.1.2) | jdk6 - jdk11 | 不推荐项目新引入此版本,超级严重bug,也不再更新 | + 注意: 3+版本的的easyexcel,使用poi 5+版本时,需要手动排除:poi-ooxml-schemas,例如: ```xml From bcb108fe6238c55051545b93643a53db8eb2bcf9 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 5 May 2022 22:17:18 +0800 Subject: [PATCH 34/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E9=80=89=E6=8B=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index fe351a13..5896b6e5 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,8 @@ Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都 ![img](img/readme/large.png) ## 关于版本选择 +如果项目中没有使用过poi,且jdk版本在8-17之间,直接使用最新版本,别犹豫。以下表格适用于不满足以上2个情况的。 + | 版本 | poi依赖版本 (支持范围) | jdk版本支持范围 | 备注 | |--------------------|-----------------------|--------------|---------------------------------------------| | 3.1.0+ | 4.1.2 (4.1.2 - 5.2.2) | jkd8 - jdk17 | 推荐使用,会更新的版本 | From 52bcc433275178f9a396557ef5dbe6ac0f061bbd Mon Sep 17 00:00:00 2001 From: FuFei <69680491+fufeii@users.noreply.github.com> Date: Fri, 6 May 2022 15:22:26 +0800 Subject: [PATCH 35/68] =?UTF-8?q?fix=20#2227=20=E8=AF=BB=E5=8F=96csv?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=97=B6autoTrim=E9=85=8D=E7=BD=AE=E5=A4=B1?= =?UTF-8?q?=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java index 2c35b105..e4e6b01b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java @@ -96,6 +96,7 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { Map cellMap = new LinkedHashMap<>(); Iterator cellIterator = record.iterator(); int columnIndex = 0; + Boolean autoTrim = csvReadContext.currentReadHolder().globalConfiguration().getAutoTrim(); while (cellIterator.hasNext()) { String cellString = cellIterator.next(); ReadCellData readCellData = new ReadCellData<>(); @@ -105,7 +106,7 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { // csv is an empty string of whether ,, is read or ,"", if (StringUtils.isNotBlank(cellString)) { readCellData.setType(CellDataTypeEnum.STRING); - readCellData.setStringValue(cellString); + readCellData.setStringValue(autoTrim ? cellString.trim() : cellString); } else { readCellData.setType(CellDataTypeEnum.EMPTY); } From 4340aca34197322613a4a1466b3f446363824f36 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 6 May 2022 19:47:54 +0800 Subject: [PATCH 36/68] =?UTF-8?q?*=20=E4=BF=AE=E5=A4=8D03=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=97=A0=E6=B3=95=E8=AF=BB=E5=8F=96=E5=88=B0=E5=85=AC?= =?UTF-8?q?=E5=BC=8F=E6=A0=BC=E5=BC=8F=E7=9A=84bug=20[Issue=20#2444](https?= =?UTF-8?q?://github.com/alibaba/easyexcel/issues/2444)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/analysis/v03/handlers/FormulaRecordHandler.java | 1 + update.md | 1 + 2 files changed, 2 insertions(+) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java index f5d7ff0a..09188cb2 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/FormulaRecordHandler.java @@ -64,6 +64,7 @@ public class FormulaRecordHandler extends AbstractXlsRecordHandler implements Ig dataFormatData.setFormat(BuiltinFormats.getBuiltinFormat(dataFormatData.getIndex(), xlsReadContext.xlsReadWorkbookHolder().getFormatTrackingHSSFListener().getFormatString(frec), xlsReadContext.readSheetHolder().getGlobalConfiguration().getLocale())); + tempCellData.setDataFormatData(dataFormatData); cellMap.put((int)frec.getColumn(), tempCellData); break; case ERROR: diff --git a/update.md b/update.md index 5d576965..db937596 100644 --- a/update.md +++ b/update.md @@ -5,6 +5,7 @@ * 修复CSV不关闭流的bug [Issue #2309](https://github.com/alibaba/easyexcel/issues/2309) * 修复`filed`拼接错误 [Issue #2390](https://github.com/alibaba/easyexcel/issues/2390) * 修复`BigIntegerStringConverter`无效的bug [Issue #2325](https://github.com/alibaba/easyexcel/issues/2325) +* 修复03版本无法读取到公式格式的bug [Issue #2444](https://github.com/alibaba/easyexcel/issues/2444) # 3.0.5 From 7147d1d9d25517009901557a37e99a07cfab3882 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 6 May 2022 20:13:19 +0800 Subject: [PATCH 37/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/README.md | 3 ++ easyexcel-test/pom.xml | 24 ++++++++++++++ .../easyexcel/test/core/StyleTestUtils.java | 0 .../test/core/annotation/AnnotationData.java | 0 .../annotation/AnnotationDataListener.java | 0 .../core/annotation/AnnotationDataTest.java | 0 .../AnnotationIndexAndNameData.java | 0 .../AnnotationIndexAndNameDataListener.java | 0 .../AnnotationIndexAndNameDataTest.java | 0 .../core/annotation/AnnotationStyleData.java | 0 .../core/celldata/CellDataDataListener.java | 0 .../test/core/celldata/CellDataDataTest.java | 0 .../test/core/celldata/CellDataReadData.java | 0 .../test/core/celldata/CellDataWriteData.java | 0 .../core/converter/ConverterDataListener.java | 0 .../core/converter/ConverterDataTest.java | 8 ++--- .../core/converter/ConverterReadData.java | 0 .../test/core/converter/ConverterTest.java | 0 .../core/converter/ConverterWriteData.java | 0 .../test/core/converter/ImageData.java | 0 .../core/converter/ReadAllConverterData.java | 0 .../ReadAllConverterDataListener.java | 0 .../test/core/dataformat/DateFormatData.java | 0 .../test/core/dataformat/DateFormatTest.java | 4 +-- .../test/core/encrypt/EncryptData.java | 0 .../core/encrypt/EncryptDataListener.java | 0 .../test/core/encrypt/EncryptDataTest.java | 0 .../test/core/exception/ExceptionData.java | 0 .../core/exception/ExceptionDataListener.java | 0 .../core/exception/ExceptionDataTest.java | 0 .../exception/ExceptionThrowDataListener.java | 0 .../ExcludeOrIncludeData.java | 0 .../ExcludeOrIncludeDataTest.java | 0 .../easyexcel/test/core/extra/ExtraData.java | 0 .../test/core/extra/ExtraDataListener.java | 0 .../test/core/extra/ExtraDataTest.java | 4 +-- .../easyexcel/test/core/fill/FillData.java | 0 .../test/core/fill/FillDataTest.java | 22 ++++++------- .../fill/annotation/FillAnnotationData.java | 0 .../annotation/FillAnnotationDataTest.java | 6 ++-- .../fill/style/FillStyleAnnotatedData.java | 0 .../fill/style/FillStyleAnnotatedTest.java | 4 +-- .../test/core/fill/style/FillStyleData.java | 0 .../core/fill/style/FillStyleDataTest.java | 4 +-- .../test/core/handler/WriteHandler.java | 0 .../test/core/handler/WriteHandlerData.java | 0 .../test/core/handler/WriteHandlerTest.java | 0 .../test/core/head/ComplexDataListener.java | 0 .../test/core/head/ComplexHeadData.java | 0 .../test/core/head/ComplexHeadDataTest.java | 0 .../test/core/head/ListHeadDataListener.java | 0 .../test/core/head/ListHeadDataTest.java | 0 .../easyexcel/test/core/head/NoHeadData.java | 0 .../test/core/head/NoHeadDataListener.java | 0 .../test/core/head/NoHeadDataTest.java | 0 .../easyexcel/test/core/large/LargeData.java | 0 .../test/core/large/LargeDataListener.java | 0 .../test/core/large/LargeDataTest.java | 10 +++--- .../multiplesheets/MultipleSheetsData.java | 0 .../MultipleSheetsDataTest.java | 4 +-- .../MultipleSheetsListener.java | 0 .../test/core/nomodel/NoModelDataTest.java | 0 .../test/core/noncamel/UnCamelData.java | 0 .../core/noncamel/UnCamelDataListener.java | 0 .../test/core/noncamel/UnCamelDataTest.java | 0 .../test/core/parameter/ParameterData.java | 0 .../core/parameter/ParameterDataListener.java | 0 .../core/parameter/ParameterDataTest.java | 0 .../test/core/repetition/RepetitionData.java | 0 .../repetition/RepetitionDataListener.java | 0 .../core/repetition/RepetitionDataTest.java | 0 .../test/core/simple/SimpleData.java | 0 .../test/core/simple/SimpleDataListener.java | 0 .../simple/SimpleDataSheetNameListener.java | 0 .../test/core/simple/SimpleDataTest.java | 4 +-- .../easyexcel/test/core/skip/SkipData.java | 0 .../test/core/skip/SkipDataTest.java | 0 .../easyexcel/test/core/sort/SortData.java | 0 .../test/core/sort/SortDataListener.java | 0 .../test/core/sort/SortDataTest.java | 0 .../easyexcel/test/core/style/StyleData.java | 0 .../test/core/style/StyleDataListener.java | 0 .../test/core/style/StyleDataTest.java | 0 .../test/core/template/TemplateData.java | 0 .../core/template/TemplateDataListener.java | 0 .../test/core/template/TemplateDataTest.java | 4 +-- .../easyexcel/test/demo/fill/FillData.java | 0 .../easyexcel/test/demo/fill/FillTest.java | 12 +++---- .../read/CellDataDemoHeadDataListener.java | 0 .../test/demo/read/CellDataReadDemoData.java | 0 .../test/demo/read/ConverterData.java | 0 .../test/demo/read/ConverterDataListener.java | 0 .../read/CustomStringStringConverter.java | 0 .../easyexcel/test/demo/read/DemoDAO.java | 0 .../easyexcel/test/demo/read/DemoData.java | 0 .../test/demo/read/DemoDataListener.java | 0 .../test/demo/read/DemoExceptionListener.java | 0 .../test/demo/read/DemoExtraData.java | 0 .../test/demo/read/DemoExtraListener.java | 0 .../test/demo/read/DemoHeadDataListener.java | 0 .../test/demo/read/ExceptionDemoData.java | 0 .../test/demo/read/IndexOrNameData.java | 0 .../demo/read/IndexOrNameDataListener.java | 0 .../test/demo/read/NoModelDataListener.java | 0 .../easyexcel/test/demo/read/ReadTest.java | 30 +++++++++--------- .../easyexcel/test/demo/web/DownloadData.java | 0 .../test/demo/web/EasyexcelApplication.java | 0 .../easyexcel/test/demo/web/UploadDAO.java | 0 .../easyexcel/test/demo/web/UploadData.java | 0 .../test/demo/web/UploadDataListener.java | 0 .../easyexcel/test/demo/web/WebTest.java | 0 .../test/demo/write/CommentWriteHandler.java | 0 .../test/demo/write/ComplexHeadData.java | 0 .../test/demo/write/ConverterData.java | 0 .../demo/write/CustomCellWriteHandler.java | 0 .../demo/write/CustomSheetWriteHandler.java | 0 .../write/CustomStringStringConverter.java | 0 .../easyexcel/test/demo/write/DemoData.java | 0 .../test/demo/write/DemoMergeData.java | 0 .../test/demo/write/DemoStyleData.java | 0 .../demo/write/ImageDataWithAnnotation.java | 0 .../test/demo/write/ImageDemoData.java | 0 .../easyexcel/test/demo/write/IndexData.java | 0 .../write/LongestMatchColumnWidthData.java | 0 .../test/demo/write/WidthAndHeightData.java | 0 .../test/demo/write/WriteCellDemoData.java | 0 .../easyexcel/test/demo/write/WriteTest.java | 4 +-- .../alibaba/easyexcel/test/temp/CamlData.java | 0 .../easyexcel/test/temp/FillTempTest.java | 0 .../easyexcel/test/temp/Lock2Test.java | 0 .../alibaba/easyexcel/test/temp/LockData.java | 0 .../easyexcel/test/temp/LockDataListener.java | 0 .../alibaba/easyexcel/test/temp/LockTest.java | 0 .../easyexcel/test/temp/StyleData.java | 0 .../easyexcel/test/temp/StyleTest.java | 0 .../easyexcel/test/temp/TempFillData.java | 0 .../easyexcel/test/temp/WriteLargeTest.java | 4 +-- .../easyexcel/test/temp/WriteV33Test.java | 0 .../easyexcel/test/temp/WriteV34Test.java | 0 .../easyexcel/test/temp/Xls03Test.java | 0 .../easyexcel/test/temp/bug/DataType.java | 0 .../easyexcel/test/temp/bug/ExcelCreat.java | 0 .../easyexcel/test/temp/bug/HeadType.java | 0 .../easyexcel/test/temp/cache/CacheTest.java | 0 .../easyexcel/test/temp/csv/CsvData.java | 0 .../test/temp/csv/CsvDataListeer.java | 0 .../easyexcel/test/temp/csv/CsvReadTest.java | 0 .../easyexcel/test/temp/data/DataType.java | 0 .../easyexcel/test/temp/data/HeadType.java | 0 .../test/temp/dataformat/DataFormatData.java | 0 .../test/temp/dataformat/DataFormatTest.java | 2 +- .../test/temp/dataformat/DataFormatter1.java | 0 .../easyexcel/test/temp/fill/FillData2.java | 0 .../test/temp/fill/FillTempTest.java | 10 +++--- .../test/temp/issue1662/Data1662.java | 0 .../test/temp/issue1662/Issue1662Test.java | 0 .../test/temp/issue1663/FillData.java | 0 .../test/temp/issue1663/FillTest.java | 4 +-- .../test/temp/issue2443/Issue2443.java | 0 .../test/temp/issue2443/Issue2443Test.java | 0 .../easyexcel/test/temp/large/LargeData.java | 0 .../test/temp/large/LargeDataListener.java | 0 .../temp/large/NoModelLargeDataListener.java | 0 .../test/temp/large/TempLargeDataTest.java | 8 ++--- .../easyexcel/test/temp/poi/Poi2Test.java | 0 .../easyexcel/test/temp/poi/Poi3Test.java | 2 +- .../test/temp/poi/PoiEncryptTest.java | 0 .../test/temp/poi/PoiFormatTest.java | 0 .../easyexcel/test/temp/poi/PoiTest.java | 18 +++++------ .../easyexcel/test/temp/poi/PoiWriteTest.java | 0 .../easyexcel/test/temp/poi/TestCell.java | 0 .../easyexcel/test/temp/read/CommentTest.java | 0 .../easyexcel/test/temp/read/HDListener.java | 0 .../test/temp/read/HeadListener.java | 0 .../test/temp/read/HeadReadData.java | 0 .../test/temp/read/HeadReadTest.java | 0 .../test/temp/read/TestListener.java | 0 .../easyexcel/test/temp/simple/DemoData1.java | 0 .../easyexcel/test/temp/simple/DemoData2.java | 0 .../test/temp/simple/HgListener.java | 0 .../easyexcel/test/temp/simple/HgTest.java | 0 .../easyexcel/test/temp/simple/JsonData.java | 0 .../test/temp/simple/RepeatListener.java | 0 .../test/temp/simple/RepeatTest.java | 0 .../easyexcel/test/temp/simple/Wirte.java | 0 .../test/temp/simple/WriteCellHandler.java | 0 .../easyexcel/test/temp/simple/WriteData.java | 0 .../test/temp/simple/WriteHandler.java | 0 .../test/temp/write/TempWriteData.java | 0 .../test/temp/write/TempWriteTest.java | 0 .../easyexcel/test/util/TestFileUtil.java | 0 .../test/resources/converter/converter03.xls | Bin .../test/resources/converter/converter07.xlsx | Bin .../test/resources/converter/converterCsv.csv | 0 .../test/resources/converter/img.jpg | Bin .../test/resources/dataformat/dataformat.xls | Bin .../test/resources/dataformat/dataformat.xlsx | Bin .../test/resources/demo/cellDataDemo.xlsx | Bin .../test/resources/demo/demo.xlsx | Bin .../test/resources/demo/extra.xlsx | Bin .../test/resources/demo/fill/complex.xlsx | Bin .../demo/fill/complexFillWithTable.xlsx | Bin .../test/resources/demo/fill/composite.xlsx | Bin .../test/resources/demo/fill/horizontal.xlsx | Bin .../test/resources/demo/fill/list.xlsx | Bin .../test/resources/demo/fill/simple.xlsx | Bin .../test/resources/extra/extra.xls | Bin .../test/resources/extra/extra.xlsx | Bin .../test/resources/fill/annotation.xls | Bin .../test/resources/fill/annotation.xlsx | Bin .../test/resources/fill/byName.xls | Bin .../test/resources/fill/byName.xlsx | Bin .../test/resources/fill/complex.xls | Bin .../test/resources/fill/complex.xlsx | Bin .../test/resources/fill/composite.xls | Bin .../test/resources/fill/composite.xlsx | Bin .../test/resources/fill/horizontal.xls | Bin .../test/resources/fill/horizontal.xlsx | Bin .../test/resources/fill/simple.csv | 0 .../test/resources/fill/simple.xls | Bin .../test/resources/fill/simple.xlsx | Bin .../test/resources/fill/style.xls | Bin .../test/resources/fill/style.xlsx | Bin .../test/resources/large/fill.xlsx | Bin .../test/resources/large/large07.xlsx | Bin .../test/resources/logback.xml | 0 .../multiplesheets/multiplesheets.xls | Bin .../multiplesheets/multiplesheets.xlsx | Bin .../test/resources/simple/simple07.xlsx | Bin .../resources/temp/issue1663/template.xlsx | Bin .../test/resources/temp/issue2443/date1.xlsx | Bin .../test/resources/temp/issue2443/date2.xlsx | Bin .../test/resources/template/template03.xls | Bin .../test/resources/template/template07.xlsx | Bin pom.xml | 1 + .../easyexcel/test/demo/fill/FillTest.java | 2 +- .../easyexcel/test/demo/read/ReadTest.java | 2 +- .../easyexcel/test/demo/web/WebTest.java | 2 +- .../easyexcel/test/demo/write/WriteTest.java | 2 +- 239 files changed, 116 insertions(+), 88 deletions(-) create mode 100644 easyexcel-test/README.md create mode 100644 easyexcel-test/pom.xml rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java (90%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java (91%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java (81%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java (85%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java (92%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java (98%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java (98%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java (90%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java (86%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java (92%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java (86%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java (92%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java (87%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java (99%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/CamlData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/LockData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/LockTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/StyleData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java (93%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java (98%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java (93%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java (88%) rename {src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java (100%) rename {src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java (94%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java (95%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java (92%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/converter/converter03.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/converter/converter07.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/converter/converterCsv.csv (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/converter/img.jpg (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/dataformat/dataformat.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/dataformat/dataformat.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/cellDataDemo.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/demo.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/extra.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/fill/complex.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/fill/complexFillWithTable.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/fill/composite.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/fill/horizontal.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/fill/list.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/demo/fill/simple.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/extra/extra.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/extra/extra.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/annotation.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/annotation.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/byName.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/byName.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/complex.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/complex.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/composite.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/composite.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/horizontal.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/horizontal.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/simple.csv (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/simple.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/simple.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/style.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/fill/style.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/large/fill.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/large/large07.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/logback.xml (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/multiplesheets/multiplesheets.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/multiplesheets/multiplesheets.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/simple/simple07.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/temp/issue1663/template.xlsx (100%) rename {src => easyexcel-test}/test/resources/temp/issue2443/date1.xlsx (100%) rename {src => easyexcel-test}/test/resources/temp/issue2443/date2.xlsx (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/template/template03.xls (100%) rename {easyexcel-core/src => easyexcel-test}/test/resources/template/template07.xlsx (100%) diff --git a/easyexcel-test/README.md b/easyexcel-test/README.md new file mode 100644 index 00000000..299588a0 --- /dev/null +++ b/easyexcel-test/README.md @@ -0,0 +1,3 @@ +# easyexcel-test + +测试案例 \ No newline at end of file diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml new file mode 100644 index 00000000..d0304619 --- /dev/null +++ b/easyexcel-test/pom.xml @@ -0,0 +1,24 @@ + + + 4.0.0 + + + com.alibaba + easyexcel-parent + ${revision} + ../pom.xml + + + jar + easyexcel-test + + + + org.springframework + spring-core + + + + diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java similarity index 90% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java index b2943522..e7418601 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java @@ -61,17 +61,17 @@ public class ConverterDataTest { @Test public void t11ReadAllConverter07() { - readAllConverter("converter" + File.separator + "converter07.xlsx"); + readAllConverter("easyexcel-test/test/resources/converter" + File.separator + "converter07.xlsx"); } @Test public void t12ReadAllConverter03() { - readAllConverter("converter" + File.separator + "converter03.xls"); + readAllConverter("easyexcel-test/test/resources/converter" + File.separator + "converter03.xls"); } @Test public void t13ReadAllConverterCsv() { - readAllConverter("converter" + File.separator + "converterCsv.csv"); + readAllConverter("easyexcel-test/test/resources/converter" + File.separator + "converterCsv.csv"); } @Test @@ -90,7 +90,7 @@ public class ConverterDataTest { List list = new ArrayList<>(); ImageData imageData = new ImageData(); list.add(imageData); - String imagePath = TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"; + String imagePath = TestFileUtil.getPath() + "easyexcel-test/test/resources/converter" + File.separator + "img.jpg"; imageData.setByteArray(FileUtils.readFileToByteArray(new File(imagePath))); imageData.setFile(new File(imagePath)); imageData.setString(imagePath); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java similarity index 91% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java index 27494f29..7bd7bf8c 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java @@ -26,8 +26,8 @@ public class DateFormatTest { @BeforeClass public static void init() { - file07 = TestFileUtil.readFile("dataformat" + File.separator + "dataformat.xlsx"); - file03 = TestFileUtil.readFile("dataformat" + File.separator + "dataformat.xls"); + file07 = TestFileUtil.readFile("easyexcel-test/test/resources/dataformat" + File.separator + "dataformat.xlsx"); + file03 = TestFileUtil.readFile("easyexcel-test/test/resources/dataformat" + File.separator + "dataformat.xls"); } @Test diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java similarity index 81% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java index cf7418d5..5f80abc1 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java @@ -22,8 +22,8 @@ public class ExtraDataTest { @BeforeClass public static void init() { - file03 = TestFileUtil.readFile("extra" + File.separator + "extra.xls"); - file07 = TestFileUtil.readFile("extra" + File.separator + "extra.xlsx"); + file03 = TestFileUtil.readFile("easyexcel-test/test/resources/extra" + File.separator + "extra.xls"); + file07 = TestFileUtil.readFile("easyexcel-test/test/resources/extra" + File.separator + "extra.xlsx"); } @Test diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java similarity index 85% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java index e85d63a6..e43dea10 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java @@ -56,25 +56,25 @@ public class FillDataTest { file07 = TestFileUtil.createNewFile("fill07.xlsx"); file03 = TestFileUtil.createNewFile("fill03.xls"); fileCsv = TestFileUtil.createNewFile("fill.csv"); - simpleTemplate07 = TestFileUtil.readFile("fill" + File.separator + "simple.xlsx"); - simpleTemplate03 = TestFileUtil.readFile("fill" + File.separator + "simple.xls"); - simpleTemplateCsv = TestFileUtil.readFile("fill" + File.separator + "simple.csv"); + simpleTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"); + simpleTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "simple.xls"); + simpleTemplateCsv = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "simple.csv"); fileComplex07 = TestFileUtil.createNewFile("fillComplex07.xlsx"); - complexFillTemplate07 = TestFileUtil.readFile("fill" + File.separator + "complex.xlsx"); + complexFillTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "complex.xlsx"); fileComplex03 = TestFileUtil.createNewFile("fillComplex03.xls"); - complexFillTemplate03 = TestFileUtil.readFile("fill" + File.separator + "complex.xls"); + complexFillTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "complex.xls"); fileHorizontal07 = TestFileUtil.createNewFile("fillHorizontal07.xlsx"); - horizontalFillTemplate07 = TestFileUtil.readFile("fill" + File.separator + "horizontal.xlsx"); + horizontalFillTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "horizontal.xlsx"); fileHorizontal03 = TestFileUtil.createNewFile("fillHorizontal03.xls"); - horizontalFillTemplate03 = TestFileUtil.readFile("fill" + File.separator + "horizontal.xls"); + horizontalFillTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "horizontal.xls"); byName07 = TestFileUtil.createNewFile("byName07.xlsx"); - byNameTemplate07 = TestFileUtil.readFile("fill" + File.separator + "byName.xlsx"); + byNameTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "byName.xlsx"); byName03 = TestFileUtil.createNewFile("byName03.xls"); - byNameTemplate03 = TestFileUtil.readFile("fill" + File.separator + "byName.xls"); + byNameTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "byName.xls"); fileComposite07 = TestFileUtil.createNewFile("fileComposite07.xlsx"); - compositeFillTemplate07 = TestFileUtil.readFile("fill" + File.separator + "composite.xlsx"); + compositeFillTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "composite.xlsx"); fileComposite03 = TestFileUtil.createNewFile("fileComposite03.xls"); - compositeFillTemplate03 = TestFileUtil.readFile("fill" + File.separator + "composite.xls"); + compositeFillTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "composite.xls"); } @Test diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java similarity index 92% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java index d2159e71..371dc48f 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java @@ -46,8 +46,8 @@ public class FillAnnotationDataTest { public static void init() { file07 = TestFileUtil.createNewFile("fillAnnotation07.xlsx"); file03 = TestFileUtil.createNewFile("fillAnnotation03.xls"); - fileTemplate07 = TestFileUtil.readFile("fill" + File.separator + "annotation.xlsx"); - fileTemplate03 = TestFileUtil.readFile("fill" + File.separator + "annotation.xls"); + fileTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "annotation.xlsx"); + fileTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "annotation.xls"); } @Test @@ -112,7 +112,7 @@ public class FillAnnotationDataTest { data.setNumber(99.99); data.setString1("string1"); data.setString2("string2"); - data.setImage(TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"); + data.setImage(TestFileUtil.getPath() + "easyexcel-test/test/resources/converter" + File.separator + "img.jpg"); list.add(data); list.add(data); list.add(data); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java similarity index 98% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java index 13367904..596dd33a 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java @@ -46,8 +46,8 @@ public class FillStyleAnnotatedTest { public static void init() { FillStyleAnnotated07 = TestFileUtil.createNewFile("FillStyleAnnotated07.xlsx"); FillStyleAnnotated03 = TestFileUtil.createNewFile("FillStyleAnnotated03.xls"); - fileStyleTemplate07 = TestFileUtil.readFile("fill" + File.separator + "style.xlsx"); - fileStyleTemplate03 = TestFileUtil.readFile("fill" + File.separator + "style.xls"); + fileStyleTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xlsx"); + fileStyleTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xls"); } @Test diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java similarity index 98% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java index 210a5b9f..149d9963 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java @@ -49,8 +49,8 @@ public class FillStyleDataTest { fileStyle03 = TestFileUtil.createNewFile("fileStyle03.xls"); fileStyleHandler07 = TestFileUtil.createNewFile("fileStyleHandler07.xlsx"); fileStyleHandler03 = TestFileUtil.createNewFile("fileStyleHandler03.xls"); - fileStyleTemplate07 = TestFileUtil.readFile("fill" + File.separator + "style.xlsx"); - fileStyleTemplate03 = TestFileUtil.readFile("fill" + File.separator + "style.xls"); + fileStyleTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xlsx"); + fileStyleTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xls"); } @Test diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java similarity index 90% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java index c7f202e5..24ab53b5 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java @@ -40,17 +40,17 @@ public class LargeDataTest { @BeforeClass public static void init() { fileFill07 = TestFileUtil.createNewFile("largefill07.xlsx"); - fileWrite07 = TestFileUtil.createNewFile("large" + File.separator + "fileWrite07.xlsx"); - fileWriteTemp07 = TestFileUtil.createNewFile("large" + File.separator + "fileWriteTemp07.xlsx"); - fileWritePoi07 = TestFileUtil.createNewFile("large" + File.separator + "fileWritePoi07.xlsx"); - template07 = TestFileUtil.readFile("large" + File.separator + "fill.xlsx"); + fileWrite07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWrite07.xlsx"); + fileWriteTemp07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWriteTemp07.xlsx"); + fileWritePoi07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWritePoi07.xlsx"); + template07 = TestFileUtil.readFile("easyexcel-test/test/resources/large" + File.separator + "fill.xlsx"); fileCsv = TestFileUtil.createNewFile("largefileCsv.csv"); } @Test public void t01Read() throws Exception { long start = System.currentTimeMillis(); - EasyExcel.read(TestFileUtil.getPath() + "large" + File.separator + "large07.xlsx", LargeData.class, + EasyExcel.read(TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + File.separator + "large07.xlsx", LargeData.class, new LargeDataListener()).headRowNumber(2).sheet().doRead(); LOGGER.info("Large data total time spent:{}", System.currentTimeMillis() - start); } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java similarity index 86% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java index c69e3ae4..1ff9ce94 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java @@ -26,8 +26,8 @@ public class MultipleSheetsDataTest { @BeforeClass public static void init() { - file07 = TestFileUtil.readFile("multiplesheets" + File.separator + "multiplesheets.xlsx"); - file03 = TestFileUtil.readFile("multiplesheets" + File.separator + "multiplesheets.xls"); + file07 = TestFileUtil.readFile("easyexcel-test/test/resources/multiplesheets" + File.separator + "multiplesheets.xlsx"); + file03 = TestFileUtil.readFile("easyexcel-test/test/resources/multiplesheets" + File.separator + "multiplesheets.xls"); } @Test diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java similarity index 92% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java index 36e90a0f..b44381cc 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java @@ -92,8 +92,8 @@ public class SimpleDataTest { @Test public void t21SheetNameRead07() { - EasyExcel.read(TestFileUtil.readFile("simple" + File.separator + "simple07.xlsx"), SimpleData.class, - new SimpleDataSheetNameListener()).sheet("simple").doRead(); + EasyExcel.read(TestFileUtil.readFile("easyexcel-test/test/resources/simple" + File.separator + "simple07.xlsx"), SimpleData.class, + new SimpleDataSheetNameListener()).sheet("easyexcel-test/test/resources/simple").doRead(); } private void synchronousRead(File file) { diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java similarity index 86% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java index d6ebd0aa..3cc041b8 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java @@ -41,14 +41,14 @@ public class TemplateDataTest { private void readAndWrite07(File file) { EasyExcel.write(file, TemplateData.class) - .withTemplate(TestFileUtil.readFile("template" + File.separator + "template07.xlsx")).sheet() + .withTemplate(TestFileUtil.readFile("easyexcel-test/test/resources/template" + File.separator + "template07.xlsx")).sheet() .doWrite(data()); EasyExcel.read(file, TemplateData.class, new TemplateDataListener()).headRowNumber(3).sheet().doRead(); } private void readAndWrite03(File file) { EasyExcel.write(file, TemplateData.class) - .withTemplate(TestFileUtil.readFile("template" + File.separator + "template03.xls")).sheet() + .withTemplate(TestFileUtil.readFile("easyexcel-test/test/resources/template" + File.separator + "template03.xls")).sheet() .doWrite(data()); EasyExcel.read(file, TemplateData.class, new TemplateDataListener()).headRowNumber(3).sheet().doRead(); } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java similarity index 92% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java index d0f90fe9..c16a2725 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java @@ -36,7 +36,7 @@ public class FillTest { public void simpleFill() { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "simple.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "simple.xlsx"; // 方案1 根据对象填充 String fileName = TestFileUtil.getPath() + "simpleFill" + System.currentTimeMillis() + ".xlsx"; @@ -65,7 +65,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // 填充list 的时候还要注意 模板中{.} 多了个点 表示list String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "list.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "list.xlsx"; // 方案1 一下子全部放到内存里面 并填充 String fileName = TestFileUtil.getPath() + "listFill" + System.currentTimeMillis() + ".xlsx"; @@ -103,7 +103,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complex.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complex.xlsx"; String fileName = TestFileUtil.getPath() + "complexFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -135,7 +135,7 @@ public class FillTest { // {} 代表普通变量 {.} 代表是list的变量 // 这里模板 删除了list以后的数据,也就是统计的这一行 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; String fileName = TestFileUtil.getPath() + "complexFillWithTable" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -176,7 +176,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; String fileName = TestFileUtil.getPath() + "horizontalFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -203,7 +203,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 {前缀.} 前缀可以区分不同的list String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "composite.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "composite.xlsx"; String fileName = TestFileUtil.getPath() + "compositeFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java similarity index 87% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java index a97d2c1e..bf56f274 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java @@ -45,7 +45,7 @@ public class ReadTest { public void simpleRead() { // 写法1:JDK8+ ,不用额外写一个DemoDataListener // since: 3.0.0-beta1 - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 // 这里每次会读取3000条数据 然后返回过来 直接调用使用数据就行 EasyExcel.read(fileName, DemoData.class, new PageReadListener(dataList -> { @@ -56,7 +56,7 @@ public class ReadTest { // 写法2: // 匿名内部类 不用额外写一个DemoDataListener - fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, DemoData.class, new ReadListener() { /** @@ -94,12 +94,12 @@ public class ReadTest { // 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去 // 写法3: - fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead(); // 写法4: - fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 一个文件一个reader ExcelReader excelReader = null; try { @@ -128,7 +128,7 @@ public class ReadTest { */ @Test public void indexOrNameRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里默认读取第一个sheet EasyExcel.read(fileName, IndexOrNameData.class, new IndexOrNameDataListener()).sheet().doRead(); } @@ -144,13 +144,13 @@ public class ReadTest { */ @Test public void repeatedRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 读取全部sheet // 这里需要注意 DemoDataListener的doAfterAllAnalysed 会在每个sheet读取完毕后调用一次。然后所有sheet都会往同一个DemoDataListener里面写 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).doReadAll(); // 读取部分sheet - fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; ExcelReader excelReader = null; try { excelReader = EasyExcel.read(fileName).build(); @@ -183,7 +183,7 @@ public class ReadTest { */ @Test public void converterRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, ConverterData.class, new ConverterDataListener()) // 这里注意 我们也可以registerConverter来指定自定义转换器, 但是这个转换变成全局了, 所有java为string,excel为string的都会用这个转换器。 @@ -206,7 +206,7 @@ public class ReadTest { */ @Test public void complexHeaderRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet() // 这里可以设置1,因为头就是一行。如果多行头,可以设置其他值。不传入也可以,因为默认会根据DemoData 来解析,他没有指定头,也就是默认1行 @@ -225,7 +225,7 @@ public class ReadTest { */ @Test public void headerRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, DemoData.class, new DemoHeadDataListener()).sheet().doRead(); } @@ -246,7 +246,7 @@ public class ReadTest { */ @Test public void extraRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "extra.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "extra.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, DemoExtraData.class, new DemoExtraListener()) // 需要读取批注 默认不读取 @@ -271,7 +271,7 @@ public class ReadTest { */ @Test public void cellDataRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "cellDataDemo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "cellDataDemo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, CellDataReadDemoData.class, new CellDataDemoHeadDataListener()).sheet().doRead(); } @@ -288,7 +288,7 @@ public class ReadTest { */ @Test public void exceptionRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, ExceptionDemoData.class, new DemoExceptionListener()).sheet().doRead(); } @@ -298,7 +298,7 @@ public class ReadTest { */ @Test public void synchronousRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 同步读取会自动finish List list = EasyExcel.read(fileName).head(DemoData.class).sheet().doReadSync(); for (DemoData data : list) { @@ -318,7 +318,7 @@ public class ReadTest { */ @Test public void noModelRead() { - String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; // 这里 只要,然后读取第一个sheet 同步读取会自动finish EasyExcel.read(fileName, new NoModelDataListener()).sheet().doRead(); } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java similarity index 99% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 41372f6a..462511c3 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -267,7 +267,7 @@ public class WriteTest { public void imageWrite() throws Exception { String fileName = TestFileUtil.getPath() + "imageWrite" + System.currentTimeMillis() + ".xlsx"; - String imagePath = TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"; + String imagePath = TestFileUtil.getPath() + "easyexcel-test/test/resources/converter" + File.separator + "img.jpg"; try (InputStream inputStream = FileUtils.openInputStream(new File(imagePath))) { List list = ListUtils.newArrayList(); ImageDemoData imageDemoData = new ImageDemoData(); @@ -419,7 +419,7 @@ public class WriteTest { */ @Test public void templateWrite() { - String templateFileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + String templateFileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; String fileName = TestFileUtil.getPath() + "templateWrite" + System.currentTimeMillis() + ".xlsx"; // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 EasyExcel.write(fileName, DemoData.class).withTemplate(templateFileName).sheet().doWrite(data()); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/CamlData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/CamlData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java similarity index 93% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java index 23f623b6..34ff7a3a 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java @@ -33,7 +33,7 @@ public class WriteLargeTest { @Test public void test() throws Exception { // 方法2 如果写到不同的sheet 同一个对象 - String fileName = TestFileUtil.getPath() + "large" + System.currentTimeMillis() + ".xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + System.currentTimeMillis() + ".xlsx"; // 头的策略 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 背景设置为红色 @@ -69,7 +69,7 @@ public class WriteLargeTest { @Test public void test2() throws Exception { // 方法2 如果写到不同的sheet 同一个对象 - String fileName = TestFileUtil.getPath() + "large" + System.currentTimeMillis() + ".xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName, LargeData.class).build(); WriteSheet writeSheet = EasyExcel.writerSheet().build(); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java similarity index 98% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java index 4440f350..01046ce4 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java @@ -132,7 +132,7 @@ public class DataFormatTest { @Test public void test355() throws IOException, InvalidFormatException { - File file = TestFileUtil.readFile("dataformat" + File.separator + "dataformat.xlsx"); + File file = TestFileUtil.readFile("easyexcel-test/test/resources/dataformat" + File.separator + "dataformat.xlsx"); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file); Sheet xssfSheet = xssfWorkbook.getSheetAt(0); DataFormatter d = new DataFormatter(Locale.CHINA); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java similarity index 93% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java index 2c201863..a538ab88 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java @@ -64,7 +64,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // 填充list 的时候还要注意 模板中{.} 多了个点 表示list String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "list.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "list.xlsx"; // 方案1 一下子全部放到内存里面 并填充 String fileName = TestFileUtil.getPath() + "listFill" + System.currentTimeMillis() + ".xlsx"; @@ -91,7 +91,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complex.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complex.xlsx"; String fileName = TestFileUtil.getPath() + "complexFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -123,7 +123,7 @@ public class FillTempTest { // {} 代表普通变量 {.} 代表是list的变量 // 这里模板 删除了list以后的数据,也就是统计的这一行 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; String fileName = TestFileUtil.getPath() + "complexFillWithTable" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -164,7 +164,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; String fileName = TestFileUtil.getPath() + "horizontalFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -191,7 +191,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 {前缀.} 前缀可以区分不同的list String templateFileName = - TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "composite.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "composite.xlsx"; String fileName = TestFileUtil.getPath() + "compositeFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java similarity index 88% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java index 7f89621c..aa4de2b9 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java @@ -23,9 +23,9 @@ public class FillTest { @Test public void TestFillNullPoint(){ String templateFileName = - TestFileUtil.getPath() + "temp/issue1663" + File.separator + "template.xlsx"; + TestFileUtil.getPath() + "easyexcel-test/test/resources/temp/issue1663" + File.separator + "template.xlsx"; - String fileName = TestFileUtil.getPath() + "temp/issue1663" + File.separator + "issue1663.xlsx"; + String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/temp/issue1663" + File.separator + "issue1663.xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); WriteSheet writeSheet = EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build(); diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java diff --git a/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java similarity index 100% rename from src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java similarity index 94% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java index 934b62f5..8a6b8625 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java @@ -45,10 +45,10 @@ public class TempLargeDataTest { @BeforeClass public static void init() { fileFill07 = TestFileUtil.createNewFile("largefill07.xlsx"); - fileWrite07 = TestFileUtil.createNewFile("large" + File.separator + "fileWrite07.xlsx"); - fileWriteTemp07 = TestFileUtil.createNewFile("large" + File.separator + "fileWriteTemp07.xlsx"); - fileWritePoi07 = TestFileUtil.createNewFile("large" + File.separator + "fileWritePoi07.xlsx"); - template07 = TestFileUtil.readFile("large" + File.separator + "fill.xlsx"); + fileWrite07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWrite07.xlsx"); + fileWriteTemp07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWriteTemp07.xlsx"); + fileWritePoi07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWritePoi07.xlsx"); + template07 = TestFileUtil.readFile("easyexcel-test/test/resources/large" + File.separator + "fill.xlsx"); fileCsv = TestFileUtil.createNewFile("largefileCsv.csv"); } diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java similarity index 95% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java index 1ea737c0..35f552b4 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java @@ -41,7 +41,7 @@ public class Poi3Test { @Test public void Encryption() throws Exception { - String file = TestFileUtil.getPath() + "large" + File.separator + "large07.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + File.separator + "large07.xlsx"; POIFSFileSystem fs = new POIFSFileSystem(); EncryptionInfo info = new EncryptionInfo(EncryptionMode.agile); Encryptor enc = info.getEncryptor(); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java similarity index 92% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java index e27136d4..e83f7a7d 100644 --- a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java +++ b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java @@ -176,7 +176,7 @@ public class PoiTest { @Test public void lastRowNum233() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; Workbook xx = new XSSFWorkbook(file); System.out.println(new File(file).exists()); @@ -231,7 +231,7 @@ public class PoiTest { @Test public void lastRowNum2333() throws IOException, InvalidFormatException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new File(file)); SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(xssfWorkbook); Sheet xssfSheet = xssfWorkbook.getSheetAt(0); @@ -248,14 +248,14 @@ public class PoiTest { @Test public void testread() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getXSSFWorkbook().getSheetAt(0); // // Cell cell = xssfSheet.getRow(0).createCell(9); - String file1 = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file1 = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook1 = new SXSSFWorkbook(new XSSFWorkbook(file1)); Sheet xssfSheet1 = xssfWorkbook1.getXSSFWorkbook().getSheetAt(0); @@ -268,13 +268,13 @@ public class PoiTest { @Test public void testreadRead() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; FileUtils.readFileToByteArray(new File(file)); } @Test public void lastRowNum2332222() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getXSSFWorkbook().getSheetAt(0); @@ -287,7 +287,7 @@ public class PoiTest { @Test public void lastRowNum23443() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getSheetAt(0); @@ -298,7 +298,7 @@ public class PoiTest { @Test public void lastRowNum2() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getXSSFWorkbook().getSheetAt(0); LOGGER.info("一共行数:{}", xssfSheet.getPhysicalNumberOfRows()); @@ -309,7 +309,7 @@ public class PoiTest { @Test public void lastRowNumXSSF2() throws IOException { - String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file); LOGGER.info("一共:{}个sheet", xssfWorkbook.getNumberOfSheets()); XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java diff --git a/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java b/easyexcel-test/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java similarity index 100% rename from easyexcel-core/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java rename to easyexcel-test/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java diff --git a/easyexcel-core/src/test/resources/converter/converter03.xls b/easyexcel-test/test/resources/converter/converter03.xls similarity index 100% rename from easyexcel-core/src/test/resources/converter/converter03.xls rename to easyexcel-test/test/resources/converter/converter03.xls diff --git a/easyexcel-core/src/test/resources/converter/converter07.xlsx b/easyexcel-test/test/resources/converter/converter07.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/converter/converter07.xlsx rename to easyexcel-test/test/resources/converter/converter07.xlsx diff --git a/easyexcel-core/src/test/resources/converter/converterCsv.csv b/easyexcel-test/test/resources/converter/converterCsv.csv similarity index 100% rename from easyexcel-core/src/test/resources/converter/converterCsv.csv rename to easyexcel-test/test/resources/converter/converterCsv.csv diff --git a/easyexcel-core/src/test/resources/converter/img.jpg b/easyexcel-test/test/resources/converter/img.jpg similarity index 100% rename from easyexcel-core/src/test/resources/converter/img.jpg rename to easyexcel-test/test/resources/converter/img.jpg diff --git a/easyexcel-core/src/test/resources/dataformat/dataformat.xls b/easyexcel-test/test/resources/dataformat/dataformat.xls similarity index 100% rename from easyexcel-core/src/test/resources/dataformat/dataformat.xls rename to easyexcel-test/test/resources/dataformat/dataformat.xls diff --git a/easyexcel-core/src/test/resources/dataformat/dataformat.xlsx b/easyexcel-test/test/resources/dataformat/dataformat.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/dataformat/dataformat.xlsx rename to easyexcel-test/test/resources/dataformat/dataformat.xlsx diff --git a/easyexcel-core/src/test/resources/demo/cellDataDemo.xlsx b/easyexcel-test/test/resources/demo/cellDataDemo.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/cellDataDemo.xlsx rename to easyexcel-test/test/resources/demo/cellDataDemo.xlsx diff --git a/easyexcel-core/src/test/resources/demo/demo.xlsx b/easyexcel-test/test/resources/demo/demo.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/demo.xlsx rename to easyexcel-test/test/resources/demo/demo.xlsx diff --git a/easyexcel-core/src/test/resources/demo/extra.xlsx b/easyexcel-test/test/resources/demo/extra.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/extra.xlsx rename to easyexcel-test/test/resources/demo/extra.xlsx diff --git a/easyexcel-core/src/test/resources/demo/fill/complex.xlsx b/easyexcel-test/test/resources/demo/fill/complex.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/fill/complex.xlsx rename to easyexcel-test/test/resources/demo/fill/complex.xlsx diff --git a/easyexcel-core/src/test/resources/demo/fill/complexFillWithTable.xlsx b/easyexcel-test/test/resources/demo/fill/complexFillWithTable.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/fill/complexFillWithTable.xlsx rename to easyexcel-test/test/resources/demo/fill/complexFillWithTable.xlsx diff --git a/easyexcel-core/src/test/resources/demo/fill/composite.xlsx b/easyexcel-test/test/resources/demo/fill/composite.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/fill/composite.xlsx rename to easyexcel-test/test/resources/demo/fill/composite.xlsx diff --git a/easyexcel-core/src/test/resources/demo/fill/horizontal.xlsx b/easyexcel-test/test/resources/demo/fill/horizontal.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/fill/horizontal.xlsx rename to easyexcel-test/test/resources/demo/fill/horizontal.xlsx diff --git a/easyexcel-core/src/test/resources/demo/fill/list.xlsx b/easyexcel-test/test/resources/demo/fill/list.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/fill/list.xlsx rename to easyexcel-test/test/resources/demo/fill/list.xlsx diff --git a/easyexcel-core/src/test/resources/demo/fill/simple.xlsx b/easyexcel-test/test/resources/demo/fill/simple.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/demo/fill/simple.xlsx rename to easyexcel-test/test/resources/demo/fill/simple.xlsx diff --git a/easyexcel-core/src/test/resources/extra/extra.xls b/easyexcel-test/test/resources/extra/extra.xls similarity index 100% rename from easyexcel-core/src/test/resources/extra/extra.xls rename to easyexcel-test/test/resources/extra/extra.xls diff --git a/easyexcel-core/src/test/resources/extra/extra.xlsx b/easyexcel-test/test/resources/extra/extra.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/extra/extra.xlsx rename to easyexcel-test/test/resources/extra/extra.xlsx diff --git a/easyexcel-core/src/test/resources/fill/annotation.xls b/easyexcel-test/test/resources/fill/annotation.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/annotation.xls rename to easyexcel-test/test/resources/fill/annotation.xls diff --git a/easyexcel-core/src/test/resources/fill/annotation.xlsx b/easyexcel-test/test/resources/fill/annotation.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/annotation.xlsx rename to easyexcel-test/test/resources/fill/annotation.xlsx diff --git a/easyexcel-core/src/test/resources/fill/byName.xls b/easyexcel-test/test/resources/fill/byName.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/byName.xls rename to easyexcel-test/test/resources/fill/byName.xls diff --git a/easyexcel-core/src/test/resources/fill/byName.xlsx b/easyexcel-test/test/resources/fill/byName.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/byName.xlsx rename to easyexcel-test/test/resources/fill/byName.xlsx diff --git a/easyexcel-core/src/test/resources/fill/complex.xls b/easyexcel-test/test/resources/fill/complex.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/complex.xls rename to easyexcel-test/test/resources/fill/complex.xls diff --git a/easyexcel-core/src/test/resources/fill/complex.xlsx b/easyexcel-test/test/resources/fill/complex.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/complex.xlsx rename to easyexcel-test/test/resources/fill/complex.xlsx diff --git a/easyexcel-core/src/test/resources/fill/composite.xls b/easyexcel-test/test/resources/fill/composite.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/composite.xls rename to easyexcel-test/test/resources/fill/composite.xls diff --git a/easyexcel-core/src/test/resources/fill/composite.xlsx b/easyexcel-test/test/resources/fill/composite.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/composite.xlsx rename to easyexcel-test/test/resources/fill/composite.xlsx diff --git a/easyexcel-core/src/test/resources/fill/horizontal.xls b/easyexcel-test/test/resources/fill/horizontal.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/horizontal.xls rename to easyexcel-test/test/resources/fill/horizontal.xls diff --git a/easyexcel-core/src/test/resources/fill/horizontal.xlsx b/easyexcel-test/test/resources/fill/horizontal.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/horizontal.xlsx rename to easyexcel-test/test/resources/fill/horizontal.xlsx diff --git a/easyexcel-core/src/test/resources/fill/simple.csv b/easyexcel-test/test/resources/fill/simple.csv similarity index 100% rename from easyexcel-core/src/test/resources/fill/simple.csv rename to easyexcel-test/test/resources/fill/simple.csv diff --git a/easyexcel-core/src/test/resources/fill/simple.xls b/easyexcel-test/test/resources/fill/simple.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/simple.xls rename to easyexcel-test/test/resources/fill/simple.xls diff --git a/easyexcel-core/src/test/resources/fill/simple.xlsx b/easyexcel-test/test/resources/fill/simple.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/simple.xlsx rename to easyexcel-test/test/resources/fill/simple.xlsx diff --git a/easyexcel-core/src/test/resources/fill/style.xls b/easyexcel-test/test/resources/fill/style.xls similarity index 100% rename from easyexcel-core/src/test/resources/fill/style.xls rename to easyexcel-test/test/resources/fill/style.xls diff --git a/easyexcel-core/src/test/resources/fill/style.xlsx b/easyexcel-test/test/resources/fill/style.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/fill/style.xlsx rename to easyexcel-test/test/resources/fill/style.xlsx diff --git a/easyexcel-core/src/test/resources/large/fill.xlsx b/easyexcel-test/test/resources/large/fill.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/large/fill.xlsx rename to easyexcel-test/test/resources/large/fill.xlsx diff --git a/easyexcel-core/src/test/resources/large/large07.xlsx b/easyexcel-test/test/resources/large/large07.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/large/large07.xlsx rename to easyexcel-test/test/resources/large/large07.xlsx diff --git a/easyexcel-core/src/test/resources/logback.xml b/easyexcel-test/test/resources/logback.xml similarity index 100% rename from easyexcel-core/src/test/resources/logback.xml rename to easyexcel-test/test/resources/logback.xml diff --git a/easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xls b/easyexcel-test/test/resources/multiplesheets/multiplesheets.xls similarity index 100% rename from easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xls rename to easyexcel-test/test/resources/multiplesheets/multiplesheets.xls diff --git a/easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xlsx b/easyexcel-test/test/resources/multiplesheets/multiplesheets.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/multiplesheets/multiplesheets.xlsx rename to easyexcel-test/test/resources/multiplesheets/multiplesheets.xlsx diff --git a/easyexcel-core/src/test/resources/simple/simple07.xlsx b/easyexcel-test/test/resources/simple/simple07.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/simple/simple07.xlsx rename to easyexcel-test/test/resources/simple/simple07.xlsx diff --git a/easyexcel-core/src/test/resources/temp/issue1663/template.xlsx b/easyexcel-test/test/resources/temp/issue1663/template.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/temp/issue1663/template.xlsx rename to easyexcel-test/test/resources/temp/issue1663/template.xlsx diff --git a/src/test/resources/temp/issue2443/date1.xlsx b/easyexcel-test/test/resources/temp/issue2443/date1.xlsx similarity index 100% rename from src/test/resources/temp/issue2443/date1.xlsx rename to easyexcel-test/test/resources/temp/issue2443/date1.xlsx diff --git a/src/test/resources/temp/issue2443/date2.xlsx b/easyexcel-test/test/resources/temp/issue2443/date2.xlsx similarity index 100% rename from src/test/resources/temp/issue2443/date2.xlsx rename to easyexcel-test/test/resources/temp/issue2443/date2.xlsx diff --git a/easyexcel-core/src/test/resources/template/template03.xls b/easyexcel-test/test/resources/template/template03.xls similarity index 100% rename from easyexcel-core/src/test/resources/template/template03.xls rename to easyexcel-test/test/resources/template/template03.xls diff --git a/easyexcel-core/src/test/resources/template/template07.xlsx b/easyexcel-test/test/resources/template/template07.xlsx similarity index 100% rename from easyexcel-core/src/test/resources/template/template07.xlsx rename to easyexcel-test/test/resources/template/template07.xlsx diff --git a/pom.xml b/pom.xml index e8a7f9c0..da5b443b 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ easyexcel-core easyexcel-support + easyexcel-test easyexcel diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java index a83f64a5..29c707d3 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java +++ b/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java @@ -1,3 +1,3 @@ /** - * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java */ diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java index 5c7e8068..b8d7bffc 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java +++ b/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java @@ -1,3 +1,3 @@ /** - * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java */ diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java index 3c234d83..c21cd0b2 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java +++ b/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java @@ -1,3 +1,3 @@ /** - * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java */ diff --git a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 340d228f..f152846a 100644 --- a/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -1,3 +1,3 @@ /** - * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-core/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java + * Documents have been migrated to https://github.com/alibaba/easyexcel/blob/master/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java */ From 2d5db89f859ea9310f1cab298ba6816b6012bbc4 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 6 May 2022 20:18:34 +0800 Subject: [PATCH 38/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 4 ++-- .../alibaba/easyexcel/test/core/StyleTestUtils.java | 0 .../test/core/annotation/AnnotationData.java | 0 .../core/annotation/AnnotationDataListener.java | 0 .../test/core/annotation/AnnotationDataTest.java | 0 .../core/annotation/AnnotationIndexAndNameData.java | 0 .../AnnotationIndexAndNameDataListener.java | 0 .../annotation/AnnotationIndexAndNameDataTest.java | 0 .../test/core/annotation/AnnotationStyleData.java | 0 .../test/core/celldata/CellDataDataListener.java | 0 .../test/core/celldata/CellDataDataTest.java | 0 .../test/core/celldata/CellDataReadData.java | 0 .../test/core/celldata/CellDataWriteData.java | 0 .../test/core/converter/ConverterDataListener.java | 0 .../test/core/converter/ConverterDataTest.java | 0 .../test/core/converter/ConverterReadData.java | 0 .../test/core/converter/ConverterTest.java | 0 .../test/core/converter/ConverterWriteData.java | 0 .../easyexcel/test/core/converter/ImageData.java | 0 .../test/core/converter/ReadAllConverterData.java | 0 .../converter/ReadAllConverterDataListener.java | 0 .../test/core/dataformat/DateFormatData.java | 0 .../test/core/dataformat/DateFormatTest.java | 0 .../easyexcel/test/core/encrypt/EncryptData.java | 0 .../test/core/encrypt/EncryptDataListener.java | 0 .../test/core/encrypt/EncryptDataTest.java | 0 .../test/core/exception/ExceptionData.java | 0 .../test/core/exception/ExceptionDataListener.java | 0 .../test/core/exception/ExceptionDataTest.java | 0 .../core/exception/ExceptionThrowDataListener.java | 0 .../core/excludeorinclude/ExcludeOrIncludeData.java | 0 .../excludeorinclude/ExcludeOrIncludeDataTest.java | 0 .../easyexcel/test/core/extra/ExtraData.java | 0 .../test/core/extra/ExtraDataListener.java | 0 .../easyexcel/test/core/extra/ExtraDataTest.java | 0 .../alibaba/easyexcel/test/core/fill/FillData.java | 0 .../easyexcel/test/core/fill/FillDataTest.java | 0 .../core/fill/annotation/FillAnnotationData.java | 0 .../fill/annotation/FillAnnotationDataTest.java | 2 -- .../core/fill/style/FillStyleAnnotatedData.java | 0 .../core/fill/style/FillStyleAnnotatedTest.java | 0 .../test/core/fill/style/FillStyleData.java | 0 .../test/core/fill/style/FillStyleDataTest.java | 0 .../easyexcel/test/core/handler/WriteHandler.java | 0 .../test/core/handler/WriteHandlerData.java | 0 .../test/core/handler/WriteHandlerTest.java | 0 .../test/core/head/ComplexDataListener.java | 0 .../easyexcel/test/core/head/ComplexHeadData.java | 0 .../test/core/head/ComplexHeadDataTest.java | 0 .../test/core/head/ListHeadDataListener.java | 0 .../easyexcel/test/core/head/ListHeadDataTest.java | 0 .../easyexcel/test/core/head/NoHeadData.java | 0 .../test/core/head/NoHeadDataListener.java | 0 .../easyexcel/test/core/head/NoHeadDataTest.java | 0 .../easyexcel/test/core/large/LargeData.java | 0 .../test/core/large/LargeDataListener.java | 0 .../easyexcel/test/core/large/LargeDataTest.java | 0 .../core/multiplesheets/MultipleSheetsData.java | 0 .../core/multiplesheets/MultipleSheetsDataTest.java | 0 .../core/multiplesheets/MultipleSheetsListener.java | 0 .../test/core/nomodel/NoModelDataTest.java | 0 .../easyexcel/test/core/noncamel/UnCamelData.java | 0 .../test/core/noncamel/UnCamelDataListener.java | 0 .../test/core/noncamel/UnCamelDataTest.java | 0 .../test/core/parameter/ParameterData.java | 0 .../test/core/parameter/ParameterDataListener.java | 0 .../test/core/parameter/ParameterDataTest.java | 0 .../test/core/repetition/RepetitionData.java | 0 .../core/repetition/RepetitionDataListener.java | 0 .../test/core/repetition/RepetitionDataTest.java | 0 .../easyexcel/test/core/simple/SimpleData.java | 0 .../test/core/simple/SimpleDataListener.java | 0 .../core/simple/SimpleDataSheetNameListener.java | 0 .../easyexcel/test/core/simple/SimpleDataTest.java | 2 -- .../alibaba/easyexcel/test/core/skip/SkipData.java | 0 .../easyexcel/test/core/skip/SkipDataTest.java | 0 .../alibaba/easyexcel/test/core/sort/SortData.java | 0 .../easyexcel/test/core/sort/SortDataListener.java | 0 .../easyexcel/test/core/sort/SortDataTest.java | 0 .../easyexcel/test/core/style/StyleData.java | 0 .../test/core/style/StyleDataListener.java | 0 .../easyexcel/test/core/style/StyleDataTest.java | 0 .../easyexcel/test/core/template/TemplateData.java | 0 .../test/core/template/TemplateDataListener.java | 0 .../test/core/template/TemplateDataTest.java | 0 .../alibaba/easyexcel/test/demo/fill/FillData.java | 0 .../alibaba/easyexcel/test/demo/fill/FillTest.java | 0 .../demo/read/CellDataDemoHeadDataListener.java | 0 .../test/demo/read/CellDataReadDemoData.java | 0 .../easyexcel/test/demo/read/ConverterData.java | 0 .../test/demo/read/ConverterDataListener.java | 0 .../test/demo/read/CustomStringStringConverter.java | 0 .../alibaba/easyexcel/test/demo/read/DemoDAO.java | 0 .../alibaba/easyexcel/test/demo/read/DemoData.java | 0 .../easyexcel/test/demo/read/DemoDataListener.java | 0 .../test/demo/read/DemoExceptionListener.java | 0 .../easyexcel/test/demo/read/DemoExtraData.java | 0 .../easyexcel/test/demo/read/DemoExtraListener.java | 0 .../test/demo/read/DemoHeadDataListener.java | 0 .../easyexcel/test/demo/read/ExceptionDemoData.java | 0 .../easyexcel/test/demo/read/IndexOrNameData.java | 0 .../test/demo/read/IndexOrNameDataListener.java | 0 .../test/demo/read/NoModelDataListener.java | 0 .../alibaba/easyexcel/test/demo/read/ReadTest.java | 0 .../easyexcel/test/demo/web/DownloadData.java | 0 .../test/demo/web/EasyexcelApplication.java | 0 .../alibaba/easyexcel/test/demo/web/UploadDAO.java | 0 .../alibaba/easyexcel/test/demo/web/UploadData.java | 0 .../easyexcel/test/demo/web/UploadDataListener.java | 0 .../alibaba/easyexcel/test/demo/web/WebTest.java | 0 .../test/demo/write/CommentWriteHandler.java | 0 .../easyexcel/test/demo/write/ComplexHeadData.java | 0 .../easyexcel/test/demo/write/ConverterData.java | 0 .../test/demo/write/CustomCellWriteHandler.java | 0 .../test/demo/write/CustomSheetWriteHandler.java | 0 .../demo/write/CustomStringStringConverter.java | 0 .../alibaba/easyexcel/test/demo/write/DemoData.java | 0 .../easyexcel/test/demo/write/DemoMergeData.java | 0 .../easyexcel/test/demo/write/DemoStyleData.java | 0 .../test/demo/write/ImageDataWithAnnotation.java | 0 .../easyexcel/test/demo/write/ImageDemoData.java | 0 .../easyexcel/test/demo/write/IndexData.java | 0 .../demo/write/LongestMatchColumnWidthData.java | 0 .../test/demo/write/WidthAndHeightData.java | 0 .../test/demo/write/WriteCellDemoData.java | 0 .../easyexcel/test/demo/write/WriteTest.java | 0 .../com/alibaba/easyexcel/test/temp/CamlData.java | 0 .../alibaba/easyexcel/test/temp/FillTempTest.java | 0 .../com/alibaba/easyexcel/test/temp/Lock2Test.java | 0 .../com/alibaba/easyexcel/test/temp/LockData.java | 0 .../easyexcel/test/temp/LockDataListener.java | 0 .../com/alibaba/easyexcel/test/temp/LockTest.java | 0 .../com/alibaba/easyexcel/test/temp/StyleData.java | 0 .../com/alibaba/easyexcel/test/temp/StyleTest.java | 0 .../alibaba/easyexcel/test/temp/TempFillData.java | 0 .../alibaba/easyexcel/test/temp/WriteLargeTest.java | 0 .../alibaba/easyexcel/test/temp/WriteV33Test.java | 0 .../alibaba/easyexcel/test/temp/WriteV34Test.java | 0 .../com/alibaba/easyexcel/test/temp/Xls03Test.java | 0 .../alibaba/easyexcel/test/temp/bug/DataType.java | 0 .../alibaba/easyexcel/test/temp/bug/ExcelCreat.java | 0 .../alibaba/easyexcel/test/temp/bug/HeadType.java | 0 .../easyexcel/test/temp/cache/CacheTest.java | 6 ------ .../alibaba/easyexcel/test/temp/csv/CsvData.java | 0 .../easyexcel/test/temp/csv/CsvDataListeer.java | 0 .../easyexcel/test/temp/csv/CsvReadTest.java | 0 .../alibaba/easyexcel/test/temp/data/DataType.java | 0 .../alibaba/easyexcel/test/temp/data/HeadType.java | 0 .../test/temp/dataformat/DataFormatData.java | 0 .../test/temp/dataformat/DataFormatTest.java | 0 .../test/temp/dataformat/DataFormatter1.java | 0 .../alibaba/easyexcel/test/temp/fill/FillData2.java | 0 .../easyexcel/test/temp/fill/FillTempTest.java | 0 .../easyexcel/test/temp/issue1662/Data1662.java | 0 .../test/temp/issue1662/Issue1662Test.java | 0 .../easyexcel/test/temp/issue1663/FillData.java | 0 .../easyexcel/test/temp/issue1663/FillTest.java | 0 .../easyexcel/test/temp/issue2443/Issue2443.java | 0 .../test/temp/issue2443/Issue2443Test.java | 0 .../easyexcel/test/temp/large/LargeData.java | 0 .../test/temp/large/LargeDataListener.java | 0 .../test/temp/large/NoModelLargeDataListener.java | 1 - .../test/temp/large/TempLargeDataTest.java | 0 .../alibaba/easyexcel/test/temp/poi/Poi2Test.java | 0 .../alibaba/easyexcel/test/temp/poi/Poi3Test.java | 11 ----------- .../easyexcel/test/temp/poi/PoiEncryptTest.java | 0 .../easyexcel/test/temp/poi/PoiFormatTest.java | 7 ------- .../alibaba/easyexcel/test/temp/poi/PoiTest.java | 0 .../easyexcel/test/temp/poi/PoiWriteTest.java | 0 .../alibaba/easyexcel/test/temp/poi/TestCell.java | 0 .../easyexcel/test/temp/read/CommentTest.java | 0 .../easyexcel/test/temp/read/HDListener.java | 0 .../easyexcel/test/temp/read/HeadListener.java | 0 .../easyexcel/test/temp/read/HeadReadData.java | 0 .../easyexcel/test/temp/read/HeadReadTest.java | 0 .../easyexcel/test/temp/read/TestListener.java | 0 .../easyexcel/test/temp/simple/DemoData1.java | 0 .../easyexcel/test/temp/simple/DemoData2.java | 0 .../easyexcel/test/temp/simple/HgListener.java | 0 .../alibaba/easyexcel/test/temp/simple/HgTest.java | 0 .../easyexcel/test/temp/simple/JsonData.java | 0 .../easyexcel/test/temp/simple/RepeatListener.java | 0 .../easyexcel/test/temp/simple/RepeatTest.java | 0 .../alibaba/easyexcel/test/temp/simple/Wirte.java | 0 .../test/temp/simple/WriteCellHandler.java | 0 .../easyexcel/test/temp/simple/WriteData.java | 0 .../easyexcel/test/temp/simple/WriteHandler.java | 0 .../easyexcel/test/temp/write/TempWriteData.java | 0 .../easyexcel/test/temp/write/TempWriteTest.java | 0 .../alibaba/easyexcel/test/util/TestFileUtil.java | 0 .../test/resources/converter/converter03.xls | Bin .../test/resources/converter/converter07.xlsx | Bin .../test/resources/converter/converterCsv.csv | 0 .../{ => src}/test/resources/converter/img.jpg | Bin .../test/resources/dataformat/dataformat.xls | Bin .../test/resources/dataformat/dataformat.xlsx | Bin .../{ => src}/test/resources/demo/cellDataDemo.xlsx | Bin .../{ => src}/test/resources/demo/demo.xlsx | Bin .../{ => src}/test/resources/demo/extra.xlsx | Bin .../{ => src}/test/resources/demo/fill/complex.xlsx | Bin .../resources/demo/fill/complexFillWithTable.xlsx | Bin .../test/resources/demo/fill/composite.xlsx | Bin .../test/resources/demo/fill/horizontal.xlsx | Bin .../{ => src}/test/resources/demo/fill/list.xlsx | Bin .../{ => src}/test/resources/demo/fill/simple.xlsx | Bin .../{ => src}/test/resources/extra/extra.xls | Bin .../{ => src}/test/resources/extra/extra.xlsx | Bin .../{ => src}/test/resources/fill/annotation.xls | Bin .../{ => src}/test/resources/fill/annotation.xlsx | Bin .../{ => src}/test/resources/fill/byName.xls | Bin .../{ => src}/test/resources/fill/byName.xlsx | Bin .../{ => src}/test/resources/fill/complex.xls | Bin .../{ => src}/test/resources/fill/complex.xlsx | Bin .../{ => src}/test/resources/fill/composite.xls | Bin .../{ => src}/test/resources/fill/composite.xlsx | Bin .../{ => src}/test/resources/fill/horizontal.xls | Bin .../{ => src}/test/resources/fill/horizontal.xlsx | Bin .../{ => src}/test/resources/fill/simple.csv | 0 .../{ => src}/test/resources/fill/simple.xls | Bin .../{ => src}/test/resources/fill/simple.xlsx | Bin .../{ => src}/test/resources/fill/style.xls | Bin .../{ => src}/test/resources/fill/style.xlsx | Bin .../{ => src}/test/resources/large/fill.xlsx | Bin .../{ => src}/test/resources/large/large07.xlsx | Bin easyexcel-test/{ => src}/test/resources/logback.xml | 0 .../resources/multiplesheets/multiplesheets.xls | Bin .../resources/multiplesheets/multiplesheets.xlsx | Bin .../{ => src}/test/resources/simple/simple07.xlsx | Bin .../test/resources/temp/issue1663/template.xlsx | Bin .../test/resources/temp/issue2443/date1.xlsx | Bin .../test/resources/temp/issue2443/date2.xlsx | Bin .../test/resources/template/template03.xls | Bin .../test/resources/template/template07.xlsx | Bin 233 files changed, 2 insertions(+), 31 deletions(-) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java (98%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java (98%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/CamlData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/LockData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/LockTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/StyleData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java (86%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java (95%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java (79%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java (87%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java (100%) rename easyexcel-test/{ => src}/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java (100%) rename easyexcel-test/{ => src}/test/resources/converter/converter03.xls (100%) rename easyexcel-test/{ => src}/test/resources/converter/converter07.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/converter/converterCsv.csv (100%) rename easyexcel-test/{ => src}/test/resources/converter/img.jpg (100%) rename easyexcel-test/{ => src}/test/resources/dataformat/dataformat.xls (100%) rename easyexcel-test/{ => src}/test/resources/dataformat/dataformat.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/cellDataDemo.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/demo.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/extra.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/fill/complex.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/fill/complexFillWithTable.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/fill/composite.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/fill/horizontal.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/fill/list.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/demo/fill/simple.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/extra/extra.xls (100%) rename easyexcel-test/{ => src}/test/resources/extra/extra.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/annotation.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/annotation.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/byName.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/byName.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/complex.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/complex.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/composite.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/composite.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/horizontal.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/horizontal.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/simple.csv (100%) rename easyexcel-test/{ => src}/test/resources/fill/simple.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/simple.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/fill/style.xls (100%) rename easyexcel-test/{ => src}/test/resources/fill/style.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/large/fill.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/large/large07.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/logback.xml (100%) rename easyexcel-test/{ => src}/test/resources/multiplesheets/multiplesheets.xls (100%) rename easyexcel-test/{ => src}/test/resources/multiplesheets/multiplesheets.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/simple/simple07.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/temp/issue1663/template.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/temp/issue2443/date1.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/temp/issue2443/date2.xlsx (100%) rename easyexcel-test/{ => src}/test/resources/template/template03.xls (100%) rename easyexcel-test/{ => src}/test/resources/template/template07.xlsx (100%) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index d0304619..4a752ebc 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -16,8 +16,8 @@ - org.springframework - spring-core + com.alibaba + easyexcel-core diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/StyleTestUtils.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationIndexAndNameDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/annotation/AnnotationStyleData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataReadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/celldata/CellDataWriteData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterReadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterWriteData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ImageData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ReadAllConverterDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/encrypt/EncryptDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/exception/ExceptionThrowDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/excludeorinclude/ExcludeOrIncludeDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java similarity index 98% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java index 371dc48f..4be041f5 100644 --- a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java @@ -14,13 +14,11 @@ import org.apache.poi.hssf.usermodel.HSSFPicture; import org.apache.poi.hssf.usermodel.HSSFShape; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.PictureData; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.usermodel.WorkbookFactory; import org.apache.poi.ss.util.CellRangeAddress; -import org.apache.poi.xssf.usermodel.XSSFAnchor; import org.apache.poi.xssf.usermodel.XSSFPicture; import org.apache.poi.xssf.usermodel.XSSFShape; import org.apache.poi.xssf.usermodel.XSSFSheet; diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandler.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/handler/WriteHandlerTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ComplexHeadDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/ListHeadDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/head/NoHeadDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/nomodel/NoModelDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/noncamel/UnCamelDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/parameter/ParameterDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataSheetNameListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java similarity index 98% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java index b44381cc..e6b56380 100644 --- a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java @@ -2,9 +2,7 @@ package com.alibaba.easyexcel.test.core.simple; import java.io.File; import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; -import java.io.InputStream; import java.util.ArrayList; import java.util.List; diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/sort/SortData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/sort/SortDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/style/StyleData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/style/StyleDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataDemoHeadDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/CellDataReadDemoData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ConverterDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/CustomStringStringConverter.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDAO.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExceptionListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoExtraListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/DemoHeadDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ExceptionDemoData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/IndexOrNameDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/NoModelDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/DownloadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/EasyexcelApplication.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDAO.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/UploadDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CommentWriteHandler.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ComplexHeadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ConverterData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomCellWriteHandler.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomSheetWriteHandler.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/CustomStringStringConverter.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoMergeData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/DemoStyleData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDataWithAnnotation.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/ImageDemoData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/IndexData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/LongestMatchColumnWidthData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WidthAndHeightData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteCellDemoData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/CamlData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/CamlData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/CamlData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/Lock2Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/LockData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/LockDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/LockTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/LockTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/StyleData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/StyleTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/TempFillData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteV33Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/Xls03Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/bug/DataType.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/bug/ExcelCreat.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/bug/HeadType.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java similarity index 86% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java index 43edce59..adcef54a 100644 --- a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/cache/CacheTest.java @@ -4,12 +4,6 @@ import java.io.File; import java.util.HashMap; import java.util.UUID; -import org.apache.poi.xssf.streaming.SXSSFRow; -import org.apache.poi.xssf.streaming.SXSSFSheet; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFRow; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.ehcache.Cache; import org.ehcache.PersistentCacheManager; import org.ehcache.config.builders.CacheConfigurationBuilder; diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvDataListeer.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/csv/CsvReadTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/data/DataType.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/data/HeadType.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatter1.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Data1662.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1662/Issue1662Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/LargeDataListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java similarity index 95% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java index 715dc4f4..aff72adf 100644 --- a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/NoModelLargeDataListener.java @@ -2,7 +2,6 @@ package com.alibaba.easyexcel.test.temp.large; import java.util.Map; -import org.apache.poi.ss.formula.functions.Index; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi2Test.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java similarity index 79% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java index 35f552b4..4f7a3431 100644 --- a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java @@ -6,23 +6,12 @@ import java.io.OutputStream; import org.apache.poi.hssf.record.crypto.Biff8EncryptionKey; import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.openxml4j.exceptions.InvalidFormatException; import org.apache.poi.openxml4j.opc.OPCPackage; import org.apache.poi.openxml4j.opc.PackageAccess; import org.apache.poi.poifs.crypt.EncryptionInfo; import org.apache.poi.poifs.crypt.EncryptionMode; import org.apache.poi.poifs.crypt.Encryptor; import org.apache.poi.poifs.filesystem.POIFSFileSystem; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.CellCopyPolicy; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.streaming.SXSSFRow; -import org.apache.poi.xssf.streaming.SXSSFSheet; -import org.apache.poi.xssf.streaming.SXSSFWorkbook; -import org.apache.poi.xssf.usermodel.XSSFRow; -import org.apache.poi.xssf.usermodel.XSSFSheet; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.Ignore; import org.junit.Test; import org.slf4j.Logger; diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiEncryptTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java similarity index 87% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java index a9e2ce36..b20004a9 100644 --- a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiFormatTest.java @@ -1,18 +1,13 @@ package com.alibaba.easyexcel.test.temp.poi; -import java.io.File; import java.io.IOException; import java.util.Locale; -import org.apache.poi.hssf.usermodel.HSSFDataFormatter; import org.apache.poi.ss.usermodel.DataFormatter; -import org.apache.poi.ss.usermodel.DateUtil; -import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFCell; -import org.apache.poi.xssf.usermodel.XSSFDataFormat; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -21,8 +16,6 @@ import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.alibaba.easyexcel.test.util.TestFileUtil; - /** * 测试poi * diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiWriteTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/TestCell.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/CommentTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HDListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/read/TestListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData1.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/DemoData2.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/HgTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/JsonData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatListener.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/RepeatTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteCellHandler.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/WriteHandler.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteData.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/write/TempWriteTest.java diff --git a/easyexcel-test/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java similarity index 100% rename from easyexcel-test/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java rename to easyexcel-test/src/test/java/com/alibaba/easyexcel/test/util/TestFileUtil.java diff --git a/easyexcel-test/test/resources/converter/converter03.xls b/easyexcel-test/src/test/resources/converter/converter03.xls similarity index 100% rename from easyexcel-test/test/resources/converter/converter03.xls rename to easyexcel-test/src/test/resources/converter/converter03.xls diff --git a/easyexcel-test/test/resources/converter/converter07.xlsx b/easyexcel-test/src/test/resources/converter/converter07.xlsx similarity index 100% rename from easyexcel-test/test/resources/converter/converter07.xlsx rename to easyexcel-test/src/test/resources/converter/converter07.xlsx diff --git a/easyexcel-test/test/resources/converter/converterCsv.csv b/easyexcel-test/src/test/resources/converter/converterCsv.csv similarity index 100% rename from easyexcel-test/test/resources/converter/converterCsv.csv rename to easyexcel-test/src/test/resources/converter/converterCsv.csv diff --git a/easyexcel-test/test/resources/converter/img.jpg b/easyexcel-test/src/test/resources/converter/img.jpg similarity index 100% rename from easyexcel-test/test/resources/converter/img.jpg rename to easyexcel-test/src/test/resources/converter/img.jpg diff --git a/easyexcel-test/test/resources/dataformat/dataformat.xls b/easyexcel-test/src/test/resources/dataformat/dataformat.xls similarity index 100% rename from easyexcel-test/test/resources/dataformat/dataformat.xls rename to easyexcel-test/src/test/resources/dataformat/dataformat.xls diff --git a/easyexcel-test/test/resources/dataformat/dataformat.xlsx b/easyexcel-test/src/test/resources/dataformat/dataformat.xlsx similarity index 100% rename from easyexcel-test/test/resources/dataformat/dataformat.xlsx rename to easyexcel-test/src/test/resources/dataformat/dataformat.xlsx diff --git a/easyexcel-test/test/resources/demo/cellDataDemo.xlsx b/easyexcel-test/src/test/resources/demo/cellDataDemo.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/cellDataDemo.xlsx rename to easyexcel-test/src/test/resources/demo/cellDataDemo.xlsx diff --git a/easyexcel-test/test/resources/demo/demo.xlsx b/easyexcel-test/src/test/resources/demo/demo.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/demo.xlsx rename to easyexcel-test/src/test/resources/demo/demo.xlsx diff --git a/easyexcel-test/test/resources/demo/extra.xlsx b/easyexcel-test/src/test/resources/demo/extra.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/extra.xlsx rename to easyexcel-test/src/test/resources/demo/extra.xlsx diff --git a/easyexcel-test/test/resources/demo/fill/complex.xlsx b/easyexcel-test/src/test/resources/demo/fill/complex.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/fill/complex.xlsx rename to easyexcel-test/src/test/resources/demo/fill/complex.xlsx diff --git a/easyexcel-test/test/resources/demo/fill/complexFillWithTable.xlsx b/easyexcel-test/src/test/resources/demo/fill/complexFillWithTable.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/fill/complexFillWithTable.xlsx rename to easyexcel-test/src/test/resources/demo/fill/complexFillWithTable.xlsx diff --git a/easyexcel-test/test/resources/demo/fill/composite.xlsx b/easyexcel-test/src/test/resources/demo/fill/composite.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/fill/composite.xlsx rename to easyexcel-test/src/test/resources/demo/fill/composite.xlsx diff --git a/easyexcel-test/test/resources/demo/fill/horizontal.xlsx b/easyexcel-test/src/test/resources/demo/fill/horizontal.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/fill/horizontal.xlsx rename to easyexcel-test/src/test/resources/demo/fill/horizontal.xlsx diff --git a/easyexcel-test/test/resources/demo/fill/list.xlsx b/easyexcel-test/src/test/resources/demo/fill/list.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/fill/list.xlsx rename to easyexcel-test/src/test/resources/demo/fill/list.xlsx diff --git a/easyexcel-test/test/resources/demo/fill/simple.xlsx b/easyexcel-test/src/test/resources/demo/fill/simple.xlsx similarity index 100% rename from easyexcel-test/test/resources/demo/fill/simple.xlsx rename to easyexcel-test/src/test/resources/demo/fill/simple.xlsx diff --git a/easyexcel-test/test/resources/extra/extra.xls b/easyexcel-test/src/test/resources/extra/extra.xls similarity index 100% rename from easyexcel-test/test/resources/extra/extra.xls rename to easyexcel-test/src/test/resources/extra/extra.xls diff --git a/easyexcel-test/test/resources/extra/extra.xlsx b/easyexcel-test/src/test/resources/extra/extra.xlsx similarity index 100% rename from easyexcel-test/test/resources/extra/extra.xlsx rename to easyexcel-test/src/test/resources/extra/extra.xlsx diff --git a/easyexcel-test/test/resources/fill/annotation.xls b/easyexcel-test/src/test/resources/fill/annotation.xls similarity index 100% rename from easyexcel-test/test/resources/fill/annotation.xls rename to easyexcel-test/src/test/resources/fill/annotation.xls diff --git a/easyexcel-test/test/resources/fill/annotation.xlsx b/easyexcel-test/src/test/resources/fill/annotation.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/annotation.xlsx rename to easyexcel-test/src/test/resources/fill/annotation.xlsx diff --git a/easyexcel-test/test/resources/fill/byName.xls b/easyexcel-test/src/test/resources/fill/byName.xls similarity index 100% rename from easyexcel-test/test/resources/fill/byName.xls rename to easyexcel-test/src/test/resources/fill/byName.xls diff --git a/easyexcel-test/test/resources/fill/byName.xlsx b/easyexcel-test/src/test/resources/fill/byName.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/byName.xlsx rename to easyexcel-test/src/test/resources/fill/byName.xlsx diff --git a/easyexcel-test/test/resources/fill/complex.xls b/easyexcel-test/src/test/resources/fill/complex.xls similarity index 100% rename from easyexcel-test/test/resources/fill/complex.xls rename to easyexcel-test/src/test/resources/fill/complex.xls diff --git a/easyexcel-test/test/resources/fill/complex.xlsx b/easyexcel-test/src/test/resources/fill/complex.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/complex.xlsx rename to easyexcel-test/src/test/resources/fill/complex.xlsx diff --git a/easyexcel-test/test/resources/fill/composite.xls b/easyexcel-test/src/test/resources/fill/composite.xls similarity index 100% rename from easyexcel-test/test/resources/fill/composite.xls rename to easyexcel-test/src/test/resources/fill/composite.xls diff --git a/easyexcel-test/test/resources/fill/composite.xlsx b/easyexcel-test/src/test/resources/fill/composite.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/composite.xlsx rename to easyexcel-test/src/test/resources/fill/composite.xlsx diff --git a/easyexcel-test/test/resources/fill/horizontal.xls b/easyexcel-test/src/test/resources/fill/horizontal.xls similarity index 100% rename from easyexcel-test/test/resources/fill/horizontal.xls rename to easyexcel-test/src/test/resources/fill/horizontal.xls diff --git a/easyexcel-test/test/resources/fill/horizontal.xlsx b/easyexcel-test/src/test/resources/fill/horizontal.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/horizontal.xlsx rename to easyexcel-test/src/test/resources/fill/horizontal.xlsx diff --git a/easyexcel-test/test/resources/fill/simple.csv b/easyexcel-test/src/test/resources/fill/simple.csv similarity index 100% rename from easyexcel-test/test/resources/fill/simple.csv rename to easyexcel-test/src/test/resources/fill/simple.csv diff --git a/easyexcel-test/test/resources/fill/simple.xls b/easyexcel-test/src/test/resources/fill/simple.xls similarity index 100% rename from easyexcel-test/test/resources/fill/simple.xls rename to easyexcel-test/src/test/resources/fill/simple.xls diff --git a/easyexcel-test/test/resources/fill/simple.xlsx b/easyexcel-test/src/test/resources/fill/simple.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/simple.xlsx rename to easyexcel-test/src/test/resources/fill/simple.xlsx diff --git a/easyexcel-test/test/resources/fill/style.xls b/easyexcel-test/src/test/resources/fill/style.xls similarity index 100% rename from easyexcel-test/test/resources/fill/style.xls rename to easyexcel-test/src/test/resources/fill/style.xls diff --git a/easyexcel-test/test/resources/fill/style.xlsx b/easyexcel-test/src/test/resources/fill/style.xlsx similarity index 100% rename from easyexcel-test/test/resources/fill/style.xlsx rename to easyexcel-test/src/test/resources/fill/style.xlsx diff --git a/easyexcel-test/test/resources/large/fill.xlsx b/easyexcel-test/src/test/resources/large/fill.xlsx similarity index 100% rename from easyexcel-test/test/resources/large/fill.xlsx rename to easyexcel-test/src/test/resources/large/fill.xlsx diff --git a/easyexcel-test/test/resources/large/large07.xlsx b/easyexcel-test/src/test/resources/large/large07.xlsx similarity index 100% rename from easyexcel-test/test/resources/large/large07.xlsx rename to easyexcel-test/src/test/resources/large/large07.xlsx diff --git a/easyexcel-test/test/resources/logback.xml b/easyexcel-test/src/test/resources/logback.xml similarity index 100% rename from easyexcel-test/test/resources/logback.xml rename to easyexcel-test/src/test/resources/logback.xml diff --git a/easyexcel-test/test/resources/multiplesheets/multiplesheets.xls b/easyexcel-test/src/test/resources/multiplesheets/multiplesheets.xls similarity index 100% rename from easyexcel-test/test/resources/multiplesheets/multiplesheets.xls rename to easyexcel-test/src/test/resources/multiplesheets/multiplesheets.xls diff --git a/easyexcel-test/test/resources/multiplesheets/multiplesheets.xlsx b/easyexcel-test/src/test/resources/multiplesheets/multiplesheets.xlsx similarity index 100% rename from easyexcel-test/test/resources/multiplesheets/multiplesheets.xlsx rename to easyexcel-test/src/test/resources/multiplesheets/multiplesheets.xlsx diff --git a/easyexcel-test/test/resources/simple/simple07.xlsx b/easyexcel-test/src/test/resources/simple/simple07.xlsx similarity index 100% rename from easyexcel-test/test/resources/simple/simple07.xlsx rename to easyexcel-test/src/test/resources/simple/simple07.xlsx diff --git a/easyexcel-test/test/resources/temp/issue1663/template.xlsx b/easyexcel-test/src/test/resources/temp/issue1663/template.xlsx similarity index 100% rename from easyexcel-test/test/resources/temp/issue1663/template.xlsx rename to easyexcel-test/src/test/resources/temp/issue1663/template.xlsx diff --git a/easyexcel-test/test/resources/temp/issue2443/date1.xlsx b/easyexcel-test/src/test/resources/temp/issue2443/date1.xlsx similarity index 100% rename from easyexcel-test/test/resources/temp/issue2443/date1.xlsx rename to easyexcel-test/src/test/resources/temp/issue2443/date1.xlsx diff --git a/easyexcel-test/test/resources/temp/issue2443/date2.xlsx b/easyexcel-test/src/test/resources/temp/issue2443/date2.xlsx similarity index 100% rename from easyexcel-test/test/resources/temp/issue2443/date2.xlsx rename to easyexcel-test/src/test/resources/temp/issue2443/date2.xlsx diff --git a/easyexcel-test/test/resources/template/template03.xls b/easyexcel-test/src/test/resources/template/template03.xls similarity index 100% rename from easyexcel-test/test/resources/template/template03.xls rename to easyexcel-test/src/test/resources/template/template03.xls diff --git a/easyexcel-test/test/resources/template/template07.xlsx b/easyexcel-test/src/test/resources/template/template07.xlsx similarity index 100% rename from easyexcel-test/test/resources/template/template07.xlsx rename to easyexcel-test/src/test/resources/template/template07.xlsx From 5eb1e38fb323118e89ade573619ea5b8197f6d60 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 6 May 2022 20:22:45 +0800 Subject: [PATCH 39/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BC=80=E5=A7=8B?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c9da457d..41f76926 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,6 +38,6 @@ jobs: - name: Chmod run: chmod +x mvnw - name: Maven Build - run: ./mvnw install -B -V -Dmaven.test.skip=true + run: ./mvnw install -B -V -Dmaven.test.skip=false - name: Java Doc run: ./mvnw javadoc:javadoc From 346a1a8c56d07748419a477b772fb95c6b848891 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 6 May 2022 20:36:21 +0800 Subject: [PATCH 40/68] =?UTF-8?q?*=20=E6=8F=90=E9=AB=98=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=85=BC=E5=AE=B9=E6=80=A7=20[Issue=20#2443]?= =?UTF-8?q?(https://github.com/alibaba/easyexcel/issues/2443)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/alibaba/excel/util/NumberUtils.java | 27 +++++-------------- update.md | 1 + 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/NumberUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/NumberUtils.java index d52a3299..4646c396 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/NumberUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/NumberUtils.java @@ -75,7 +75,7 @@ public class NumberUtils { */ public static Short parseShort(String string, ExcelContentProperty contentProperty) throws ParseException { if (!hasFormat(contentProperty)) { - return Short.valueOf(string); + return new BigDecimal(string).shortValue(); } return parse(string, contentProperty).shortValue(); } @@ -89,7 +89,7 @@ public class NumberUtils { */ public static Long parseLong(String string, ExcelContentProperty contentProperty) throws ParseException { if (!hasFormat(contentProperty)) { - return Long.valueOf(string); + return new BigDecimal(string).longValue(); } return parse(string, contentProperty).longValue(); } @@ -97,26 +97,13 @@ public class NumberUtils { /** * parse Integer from string * - * @param string An integer read in string format + * @param string An integer read in string format * @param contentProperty Properties of the content read in * @return An integer converted from a string */ public static Integer parseInteger(String string, ExcelContentProperty contentProperty) throws ParseException { if (!hasFormat(contentProperty)) { - // CS304 Issue link: https://github.com/alibaba/easyexcel/issues/2443 - int stringLength = string.length(); - if(stringLength>0){ - int pointer = stringLength; - for(int i=0;i Date: Fri, 6 May 2022 20:48:03 +0800 Subject: [PATCH 41/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 36 ++++++++++++++++++++++++++++++++++++ pom.xml | 33 --------------------------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index 4a752ebc..57e58def 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -18,7 +18,43 @@ com.alibaba easyexcel-core + test + + + ch.qos.logback + logback-classic + test + + + com.alibaba + fastjson + test + + + org.springframework.boot + spring-boot-starter-web + test + + + junit + junit + test + + + + org.apache.maven.plugins + maven-surefire-plugin + + + com/alibaba/easyexcel/test/core/**/*.java + + true + + + + + diff --git a/pom.xml b/pom.xml index da5b443b..ca9a601c 100644 --- a/pom.xml +++ b/pom.xml @@ -166,28 +166,6 @@ lombok provided - - - - ch.qos.logback - logback-classic - test - - - com.alibaba - fastjson - test - - - org.springframework.boot - spring-boot-starter-web - test - - - junit - junit - test - @@ -349,17 +327,6 @@ - - org.apache.maven.plugins - maven-surefire-plugin - - - com/alibaba/easyexcel/test/core/**/*.java - - true - - - org.apache.maven.plugins maven-shade-plugin From 51e1c282e5a59e26b4ba45e27cbc308740ec1fbd Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Fri, 6 May 2022 20:50:08 +0800 Subject: [PATCH 42/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=91=E5=B8=83?= =?UTF-8?q?=E6=8E=92=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index 57e58def..e1f265e1 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -14,6 +14,10 @@ jar easyexcel-test + + true + + com.alibaba From 8cc8a24e0af058f2b1ba933ab7645e923b1beebd Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Tue, 10 May 2022 16:55:24 +0800 Subject: [PATCH 43/68] =?UTF-8?q?*=20=E6=8D=95=E8=8E=B7`setFeature`?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=B8=8D=E5=BD=B1=E5=93=8D=E4=B8=BB=E6=B5=81?= =?UTF-8?q?=E7=A8=8B=20[Issue=20#2054](https://github.com/alibaba/easyexce?= =?UTF-8?q?l/issues/2054)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../alibaba/excel/analysis/v07/XlsxSaxAnalyser.java | 12 +++++++++--- update.md | 1 + 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java index ea8b87b1..50bd55a7 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java @@ -188,9 +188,15 @@ public class XlsxSaxAnalyser implements ExcelReadExecutor { } else { saxFactory = SAXParserFactory.newInstance(xlsxSAXParserFactoryName, null); } - saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); - saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); - saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); + try { + saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); + } catch (Throwable ignore) {} + try { + saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); + } catch (Throwable ignore) {} + try { + saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); + } catch (Throwable ignore) {} SAXParser saxParser = saxFactory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler(handler); diff --git a/update.md b/update.md index 05d0ee10..6e8b1f45 100644 --- a/update.md +++ b/update.md @@ -7,6 +7,7 @@ * 修复`BigIntegerStringConverter`无效的bug [Issue #2325](https://github.com/alibaba/easyexcel/issues/2325) * 修复03版本无法读取到公式格式的bug [Issue #2444](https://github.com/alibaba/easyexcel/issues/2444) * 提高类型转换兼容性 [Issue #2443](https://github.com/alibaba/easyexcel/issues/2443) +* 捕获`setFeature`异常不影响主流程 [Issue #2054](https://github.com/alibaba/easyexcel/issues/2054) # 3.0.5 From 49b64dd3df307aea106be7570ad1b2cda556078b Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 11 May 2022 09:56:20 +0800 Subject: [PATCH 44/68] =?UTF-8?q?*=20=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86`?= =?UTF-8?q?xls`=E5=AE=B9=E9=94=99=20[Issue=20#2236](https://github.com/ali?= =?UTF-8?q?baba/easyexcel/issues/2236)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/analysis/v03/handlers/DummyRecordHandler.java | 5 ++++- update.md | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java index 8ecc33a4..b5c853c5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/handlers/DummyRecordHandler.java @@ -34,7 +34,10 @@ public class DummyRecordHandler extends AbstractXlsRecordHandler implements Igno xlsReadSheetHolder.setTempRowType(RowTypeEnum.EMPTY); } else if (record instanceof MissingCellDummyRecord) { MissingCellDummyRecord mcdr = (MissingCellDummyRecord)record; - xlsReadSheetHolder.getCellMap().put(mcdr.getColumn(), + // https://github.com/alibaba/easyexcel/issues/2236 + // Some abnormal XLS, in the case of data already exist, or there will be a "MissingCellDummyRecord" + // records, so if the existing data, empty data is ignored + xlsReadSheetHolder.getCellMap().putIfAbsent(mcdr.getColumn(), ReadCellData.newEmptyInstance(mcdr.getRow(), mcdr.getColumn())); } } diff --git a/update.md b/update.md index 6e8b1f45..2c11e6c0 100644 --- a/update.md +++ b/update.md @@ -8,6 +8,7 @@ * 修复03版本无法读取到公式格式的bug [Issue #2444](https://github.com/alibaba/easyexcel/issues/2444) * 提高类型转换兼容性 [Issue #2443](https://github.com/alibaba/easyexcel/issues/2443) * 捕获`setFeature`异常不影响主流程 [Issue #2054](https://github.com/alibaba/easyexcel/issues/2054) +* 增加部分`xls`容错 [Issue #2236](https://github.com/alibaba/easyexcel/issues/2236) # 3.0.5 From 589aacbe80e31e37ab535249134b152c54c80b6f Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 11 May 2022 10:14:40 +0800 Subject: [PATCH 45/68] =?UTF-8?q?*=20=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86`?= =?UTF-8?q?xls`=E5=AE=B9=E9=94=99=20[Issue=20#2236](https://github.com/ali?= =?UTF-8?q?baba/easyexcel/issues/2236)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/compatibility/CompatibilityTest.java | 40 ++++++++++++++++++ .../src/test/resources/compatibility/t01.xls | Bin 0 -> 23552 bytes 2 files changed, 40 insertions(+) create mode 100644 easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java create mode 100644 easyexcel-test/src/test/resources/compatibility/t01.xls diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java new file mode 100644 index 00000000..790f4149 --- /dev/null +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java @@ -0,0 +1,40 @@ +package com.alibaba.easyexcel.test.core.compatibility; + +import java.io.FileOutputStream; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +import com.alibaba.easyexcel.test.core.exception.ExceptionData; +import com.alibaba.easyexcel.test.util.TestFileUtil; +import com.alibaba.excel.EasyExcel; +import com.alibaba.excel.converters.WriteConverterContext; +import com.alibaba.excel.converters.floatconverter.FloatNumberConverter; +import com.alibaba.excel.metadata.data.WriteCellData; +import com.alibaba.fastjson.JSON; + +import lombok.extern.slf4j.Slf4j; +import org.junit.Assert; +import org.junit.FixMethodOrder; +import org.junit.Test; +import org.junit.runners.MethodSorters; + +/** + * Compatible with some special files + * + * @author Jiaju Zhuang + */ +@FixMethodOrder(MethodSorters.NAME_ASCENDING) +@Slf4j +public class CompatibilityTest { + + @Test + public void t01() { + // https://github.com/alibaba/easyexcel/issues/2236 + List> list = EasyExcel.read(TestFileUtil.getPath() + "compatibility/t01.xls").sheet() + .doReadSync(); + Assert.assertEquals(2, list.size()); + Map row1 = list.get(1); + Assert.assertEquals("Q235(碳钢)", row1.get(0)); + } +} diff --git a/easyexcel-test/src/test/resources/compatibility/t01.xls b/easyexcel-test/src/test/resources/compatibility/t01.xls new file mode 100644 index 0000000000000000000000000000000000000000..eb0782f5654a16acc49cd3334fceddc5f611b387 GIT binary patch literal 23552 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%0AqF;D*E%{fm`RsB>^Rh&I9D#^7VYge~N zXC67Y4YIzswoS#O2^oimY`uAQ@z<{tJm&PZZTa<5#oUvfMw?}C{w*{e|{xo5R9gA2>AY zcDm15-^-!#Tbx!TjW7}4{l3{XgTx8f&V*fh?s~sWY=KFul~i;CRE#sPwu9Q>}*W9_pFrWLYz3!;&rmt~I@PTJMy9+|u&L@a%KfrXKkA z)i)h?**0o=()z!eY%M;teqG6TezGHthJBl7@6_D>ZmXVVS4}rnM4#QdVD$CtW6uZm zToBN4^o;=TUUB^|Zy9veG(Tv&)!F>O3DYW^Ph9Xh*I;#I?WRBWe)aXftQe1jV)3DZ z)$5+FTIXbYWyzw%E7teN+Vx)1zu>pSsXIyoHh#aMo9(7M{eI~`JL!f?(dDC+Gunh) z-_qOLG}`82_ohQW9-r~fM6YoOdHLw*!Qbt^3*TThIiyn3pkqXiTXT8D%IZ%rQPLjW z%q|wL-U|amV;K9~c>@G9q|-wNXN*%0@zKV|WY*Jbr;d|kW?nvEvB2%ttP5MN=uQ74 z&@3p#HSXDSv#nkdpP4B~mJd0&^!u`gss6Y9GB(*u+C2X5n-xb#{PJvGXiuA%**Dq_ z-ac^Zyv*R|jnWrHdPKXq_Vn=aTb9+pz5Ak~3v&|QK(q@SQ--qZTH|Ty5%ci5`*q_zoG&;`K>?DE%vZ$%m|jt(}#ei8myW z0>Bk;a7bqik@<4~3ynVqFcIOl4ij3#EinxKH3d?R!jgdbTd8Sup6T?} zO-21E1i$)a!lMum)pJcqbIx-#d=;uE#j;`;4ABb!jEKYd11xALNP$Bs_=zA5Q!!MA zuy^~NJS&G2cco)Pa3FU*tI8l5o%ZumY)@tYFG>#Zxtie zus+zCo4)~Uu2-0-)6K#5o6OWOZZvsvk5w#g$T_bY65kJ`VkhkHcjPABW3JJ`O*Y;^VL!d>odM zk7G*5l!Mg|ECN9jhqmD3a2d+Sp?C6ejRbJa(pOUkzD~-|%d{>{I#?@c(c#OE{Ji+a zARmV-Bt8y5`QYPlgOZQKZAUKdBi$qvlG4G zV;~A3tbGO&0fhC=KzaaSjWduKAgpT!(gz4@nSl%dLZ4(HL-@BftZfFu4Q2F01~LLl ztaS!51_Cz1ey#^;z5~u=+s12!uFWA2fCvuJvl!y_b(`E`Y=L`uTJ%1aMvgIBx-*j{pw#(I9BrN+y8w z6TsntAU`kcziHv{V2)3RhiiOXkN_@N0N09#y9UQiuc47wVnhF;@QhUBe4(Zqa=~1o z23s(;7(MVmbD~#s6`swBxQ6L(jB1!Z9FUv-h7D$P zFTq0Woh|V*x_2|9dF-XEh!vWN4pQY8t?jUn4TFiy2-waa32`)>1ZKfW;uugg3mUaC z;U4(Z=Hro%F~LJ0*BCtL!K0scG&3Bc@!vkNn;Q~WCQi|IzCX3^*N;bT5mP`SBb=XLN3wtY zwb~ueX`V>C9wK%L7(5^%E*>IgNrH&7$0=dNq0W)sEOtx_8$V!!S$3-tH)^YiiZk@@(^TDHb964P8EhWiHwcJdDk^y?H5-ZDHQJgjwV z|IPuOTlx6~2l|HxMgYl|1q%KpRS!B^tV1d9zjJZIW~=_!J^JqhrEr)RAXOR#Md8ep XPVtG)kjuyTv?8xt@B9W+J}dk;0LIFH literal 0 HcmV?d00001 From e1b4fecebfb45e4d72e81c5160eb5051878510ba Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 11 May 2022 14:25:14 +0800 Subject: [PATCH 46/68] =?UTF-8?q?*=20=E5=A2=9E=E5=8A=A0=E9=83=A8=E5=88=86`?= =?UTF-8?q?xls`=E5=AE=B9=E9=94=99=20[Issue=20#2236](https://github.com/ali?= =?UTF-8?q?baba/easyexcel/issues/2236)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/core/compatibility/CompatibilityTest.java | 7 ------- 1 file changed, 7 deletions(-) diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java index 790f4149..027aa54f 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/compatibility/CompatibilityTest.java @@ -1,17 +1,10 @@ package com.alibaba.easyexcel.test.core.compatibility; -import java.io.FileOutputStream; -import java.math.BigDecimal; import java.util.List; import java.util.Map; -import com.alibaba.easyexcel.test.core.exception.ExceptionData; import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.converters.WriteConverterContext; -import com.alibaba.excel.converters.floatconverter.FloatNumberConverter; -import com.alibaba.excel.metadata.data.WriteCellData; -import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.junit.Assert; From 20fe0e162524bc8b5057392a2970f7e61936671d Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 11 May 2022 15:01:04 +0800 Subject: [PATCH 47/68] =?UTF-8?q?*=20=E4=BF=AE=E5=A4=8D=E8=AF=BB=E5=8F=96c?= =?UTF-8?q?sv=E6=96=87=E4=BB=B6=E6=97=B6`autoTrim`=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=A4=B1=E6=95=88=20[Issue=20#2227](https://github.com/alibaba?= =?UTF-8?q?/easyexcel/issues/2227)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update.md | 1 + 1 file changed, 1 insertion(+) diff --git a/update.md b/update.md index 2c11e6c0..0ee6b28e 100644 --- a/update.md +++ b/update.md @@ -9,6 +9,7 @@ * 提高类型转换兼容性 [Issue #2443](https://github.com/alibaba/easyexcel/issues/2443) * 捕获`setFeature`异常不影响主流程 [Issue #2054](https://github.com/alibaba/easyexcel/issues/2054) * 增加部分`xls`容错 [Issue #2236](https://github.com/alibaba/easyexcel/issues/2236) +* 修复读取csv文件时`autoTrim`配置失效 [Issue #2227](https://github.com/alibaba/easyexcel/issues/2227) # 3.0.5 From 2559f620263f5d4d144f5006a3f10b0ea8bcdd5e Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 11 May 2022 21:39:08 +0800 Subject: [PATCH 48/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../excel/analysis/v07/XlsxSaxAnalyser.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java index 3ccb3273..e3df921f 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java @@ -41,7 +41,10 @@ import org.apache.poi.xssf.usermodel.XSSFRelation; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook; import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr; import org.openxmlformats.schemas.spreadsheetml.x2006.main.WorkbookDocument; -import org.xml.sax.*; +import org.xml.sax.ContentHandler; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; /** * @author jipengfei @@ -195,15 +198,6 @@ public class XlsxSaxAnalyser implements ExcelReadExecutor { saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); } catch (Throwable ignore) {} - try { - saxFactory.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true); - } catch (SAXNotRecognizedException e) { - log.warn( - "SAXNotRecognizedException occur, not supported feature: " + - "http://apache.org/xml/features/disallow-doctype-decl, which will disable DOCTYPE declaration" + - " if set true."); - } - saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); SAXParser saxParser = saxFactory.newSAXParser(); From 78c9b129fedb498c9c296357b84a79ba703bf848 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Wed, 11 May 2022 21:39:35 +0800 Subject: [PATCH 49/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java index e3df921f..50bd55a7 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java @@ -197,9 +197,6 @@ public class XlsxSaxAnalyser implements ExcelReadExecutor { try { saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); } catch (Throwable ignore) {} - - saxFactory.setFeature("http://xml.org/sax/features/external-general-entities", false); - saxFactory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); SAXParser saxParser = saxFactory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler(handler); From 95b387888cbd92507d183f14134dbdabedeb7d67 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 10:47:37 +0800 Subject: [PATCH 50/68] =?UTF-8?q?*=20csv=E6=94=AF=E6=8C=81=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E8=AF=BB=E5=86=99=E7=BC=96=E7=A0=81=20[Issue=20#2404]?= =?UTF-8?q?(https://github.com/alibaba/easyexcel/issues/2404)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../analysis/csv/CsvExcelReadExecutor.java | 11 +- .../read/builder/ExcelReaderBuilder.java | 22 ++-- .../excel/read/metadata/ReadWorkbook.java | 8 +- .../metadata/holder/ReadWorkbookHolder.java | 16 ++- .../holder/csv/CsvReadWorkbookHolder.java | 5 +- .../write/builder/ExcelWriterBuilder.java | 11 ++ .../excel/write/metadata/WriteWorkbook.java | 3 +- .../metadata/holder/WriteWorkbookHolder.java | 3 +- .../test/core/charset/CharsetData.java | 17 +++ .../test/core/charset/CharsetDataTest.java | 119 ++++++++++++++++++ .../core/converter/ConverterDataTest.java | 8 +- .../test/core/dataformat/DateFormatTest.java | 4 +- .../test/core/extra/ExtraDataTest.java | 4 +- .../test/core/fill/FillDataTest.java | 22 ++-- .../annotation/FillAnnotationDataTest.java | 6 +- .../fill/style/FillStyleAnnotatedTest.java | 4 +- .../core/fill/style/FillStyleDataTest.java | 4 +- .../test/core/large/LargeDataTest.java | 10 +- .../MultipleSheetsDataTest.java | 4 +- .../test/core/simple/SimpleDataTest.java | 4 +- .../test/core/template/TemplateDataTest.java | 4 +- .../easyexcel/test/demo/fill/FillTest.java | 12 +- .../easyexcel/test/demo/read/ReadTest.java | 30 ++--- .../easyexcel/test/demo/write/WriteTest.java | 4 +- .../easyexcel/test/temp/WriteLargeTest.java | 4 +- .../test/temp/dataformat/DataFormatTest.java | 2 +- .../test/temp/fill/FillTempTest.java | 10 +- .../test/temp/issue1663/FillTest.java | 4 +- .../test/temp/large/TempLargeDataTest.java | 8 +- .../easyexcel/test/temp/poi/Poi3Test.java | 2 +- .../easyexcel/test/temp/poi/PoiTest.java | 18 +-- update.md | 1 + 32 files changed, 278 insertions(+), 106 deletions(-) create mode 100644 easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/charset/CharsetData.java create mode 100644 easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/charset/CharsetDataTest.java diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java index d77ab768..0f7f707a 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java @@ -1,8 +1,10 @@ package com.alibaba.excel.analysis.csv; +import java.io.FileInputStream; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; +import java.nio.file.Files; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedHashMap; @@ -84,12 +86,15 @@ public class CsvExcelReadExecutor implements ExcelReadExecutor { CSVFormat csvFormat = csvReadWorkbookHolder.getCsvFormat(); if (csvReadWorkbookHolder.getMandatoryUseInputStream()) { - return csvFormat.parse(new InputStreamReader(csvReadWorkbookHolder.getInputStream(),csvReadWorkbookHolder.getEncoding())); + return csvFormat.parse( + new InputStreamReader(csvReadWorkbookHolder.getInputStream(), csvReadWorkbookHolder.getCharset())); } if (csvReadWorkbookHolder.getFile() != null) { - return csvFormat.parse(new FileReader(csvReadWorkbookHolder.getFile())); + return csvFormat.parse(new InputStreamReader(Files.newInputStream(csvReadWorkbookHolder.getFile().toPath()), + csvReadWorkbookHolder.getCharset())); } - return csvFormat.parse(new InputStreamReader(csvReadWorkbookHolder.getInputStream(),csvReadWorkbookHolder.getEncoding())); + return csvFormat.parse( + new InputStreamReader(csvReadWorkbookHolder.getInputStream(), csvReadWorkbookHolder.getCharset())); } private void dealRecord(CSVRecord record, int rowIndex) { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java index 0cb11009..d3bf472b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java @@ -2,6 +2,7 @@ package com.alibaba.excel.read.builder; import java.io.File; import java.io.InputStream; +import java.nio.charset.Charset; import java.util.HashSet; import java.util.List; @@ -38,11 +39,6 @@ public class ExcelReaderBuilder extends AbstractExcelReaderParameterBuilder @@ -72,6 +68,15 @@ public class ExcelReaderBuilder extends AbstractExcelReaderParameterBuilder @@ -156,10 +161,10 @@ public class ExcelReaderBuilder extends AbstractExcelReaderParameterBuilder * Please pass in the name of a class ,like : "com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl" * - * @see SAXParserFactory#newInstance() - * @see SAXParserFactory#newInstance(String, ClassLoader) * @param xlsxSAXParserFactoryName * @return + * @see SAXParserFactory#newInstance() + * @see SAXParserFactory#newInstance(String, ClassLoader) */ public ExcelReaderBuilder xlsxSAXParserFactoryName(String xlsxSAXParserFactoryName) { readWorkbook.setXlsxSAXParserFactoryName(xlsxSAXParserFactoryName); @@ -169,8 +174,7 @@ public class ExcelReaderBuilder extends AbstractExcelReaderParameterBuilder @@ -98,6 +104,4 @@ public class ReadWorkbook extends ReadBasicParameter { * @see CellExtraTypeEnum */ private Set extraReadSet; - - private String encoding; } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java index 7de30aa5..a84cc315 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/ReadWorkbookHolder.java @@ -2,6 +2,7 @@ package com.alibaba.excel.read.metadata.holder; import java.io.File; import java.io.InputStream; +import java.nio.charset.Charset; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -51,6 +52,12 @@ public class ReadWorkbookHolder extends AbstractReadHolder { * If 'inputStream' and 'file' all not empty, file first */ private File file; + + /** + * charset. + * Only work on the CSV file + */ + private Charset charset; /** * Mandatory use 'inputStream' .Default is false. *

@@ -68,7 +75,6 @@ public class ReadWorkbookHolder extends AbstractReadHolder { /** * This object can be read in the Listener {@link AnalysisEventListener#invoke(Object, AnalysisContext)} * {@link AnalysisContext#getCustom()} - * */ private Object customObject; /** @@ -122,6 +128,13 @@ public class ReadWorkbookHolder extends AbstractReadHolder { this.inputStream = readWorkbook.getInputStream(); } this.file = readWorkbook.getFile(); + + if (readWorkbook.getCharset() == null) { + this.charset = Charset.defaultCharset(); + } else { + this.charset = readWorkbook.getCharset(); + } + if (readWorkbook.getMandatoryUseInputStream() == null) { this.mandatoryUseInputStream = Boolean.FALSE; } else { @@ -160,7 +173,6 @@ public class ReadWorkbookHolder extends AbstractReadHolder { this.password = readWorkbook.getPassword(); } - @Override public HolderEnum holderType() { return HolderEnum.WORKBOOK; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java index 629ca81e..5923403b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java @@ -5,6 +5,7 @@ import com.alibaba.excel.read.metadata.holder.ReadWorkbookHolder; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.util.StringUtils; + import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; @@ -25,13 +26,9 @@ public class CsvReadWorkbookHolder extends ReadWorkbookHolder { private CSVFormat csvFormat; private CSVParser csvParser; - - private String encoding; - public CsvReadWorkbookHolder(ReadWorkbook readWorkbook) { super(readWorkbook); setExcelType(ExcelTypeEnum.CSV); this.csvFormat = CSVFormat.DEFAULT; - this.encoding = StringUtils.isEmpty(readWorkbook.getEncoding())? CharsetNames.UTF_8:readWorkbook.getEncoding(); } } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java index dcd0a80d..f90e6cd7 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java @@ -3,8 +3,10 @@ package com.alibaba.excel.write.builder; import java.io.File; import java.io.InputStream; import java.io.OutputStream; +import java.nio.charset.Charset; import com.alibaba.excel.ExcelWriter; +import com.alibaba.excel.read.builder.ExcelReaderBuilder; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteWorkbook; @@ -85,6 +87,15 @@ public class ExcelWriterBuilder extends AbstractExcelWriterParameterBuilder() { + + private final List dataList = Lists.newArrayList(); + + @Override + public void invokeHead(Map> headMap, AnalysisContext context) { + String head = headMap.get(0).getStringValue(); + Assert.assertNotEquals("姓名", head); + } + + @Override + public void invoke(CharsetData data, AnalysisContext context) { + dataList.add(data); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + } + }).charset(StandardCharsets.UTF_8).sheet().doRead(); + } + + private void readAndWrite(File file, Charset charset) { + EasyExcel.write(file, CharsetData.class).charset(charset).sheet().doWrite(data()); + EasyExcel.read(file, CharsetData.class, new ReadListener() { + + private final List dataList = Lists.newArrayList(); + + @Override + public void invokeHead(Map> headMap, AnalysisContext context) { + String head = headMap.get(0).getStringValue(); + Assert.assertEquals("姓名", head); + } + + @Override + public void invoke(CharsetData data, AnalysisContext context) { + dataList.add(data); + } + + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + Assert.assertEquals(dataList.size(), 10); + CharsetData charsetData = dataList.get(0); + Assert.assertEquals("姓名0", charsetData.getName()); + Assert.assertEquals(0, (long)charsetData.getAge()); + } + }).charset(charset).sheet().doRead(); + } + + private List data() { + List list = Lists.newArrayList(); + for (int i = 0; i < 10; i++) { + CharsetData data = new CharsetData(); + data.setName("姓名" + i); + data.setAge(i); + list.add(data); + } + return list; + } +} diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java index e7418601..b2943522 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataTest.java @@ -61,17 +61,17 @@ public class ConverterDataTest { @Test public void t11ReadAllConverter07() { - readAllConverter("easyexcel-test/test/resources/converter" + File.separator + "converter07.xlsx"); + readAllConverter("converter" + File.separator + "converter07.xlsx"); } @Test public void t12ReadAllConverter03() { - readAllConverter("easyexcel-test/test/resources/converter" + File.separator + "converter03.xls"); + readAllConverter("converter" + File.separator + "converter03.xls"); } @Test public void t13ReadAllConverterCsv() { - readAllConverter("easyexcel-test/test/resources/converter" + File.separator + "converterCsv.csv"); + readAllConverter("converter" + File.separator + "converterCsv.csv"); } @Test @@ -90,7 +90,7 @@ public class ConverterDataTest { List list = new ArrayList<>(); ImageData imageData = new ImageData(); list.add(imageData); - String imagePath = TestFileUtil.getPath() + "easyexcel-test/test/resources/converter" + File.separator + "img.jpg"; + String imagePath = TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"; imageData.setByteArray(FileUtils.readFileToByteArray(new File(imagePath))); imageData.setFile(new File(imagePath)); imageData.setString(imagePath); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java index 7bd7bf8c..27494f29 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/dataformat/DateFormatTest.java @@ -26,8 +26,8 @@ public class DateFormatTest { @BeforeClass public static void init() { - file07 = TestFileUtil.readFile("easyexcel-test/test/resources/dataformat" + File.separator + "dataformat.xlsx"); - file03 = TestFileUtil.readFile("easyexcel-test/test/resources/dataformat" + File.separator + "dataformat.xls"); + file07 = TestFileUtil.readFile("dataformat" + File.separator + "dataformat.xlsx"); + file03 = TestFileUtil.readFile("dataformat" + File.separator + "dataformat.xls"); } @Test diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java index 5f80abc1..cf7418d5 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/extra/ExtraDataTest.java @@ -22,8 +22,8 @@ public class ExtraDataTest { @BeforeClass public static void init() { - file03 = TestFileUtil.readFile("easyexcel-test/test/resources/extra" + File.separator + "extra.xls"); - file07 = TestFileUtil.readFile("easyexcel-test/test/resources/extra" + File.separator + "extra.xlsx"); + file03 = TestFileUtil.readFile("extra" + File.separator + "extra.xls"); + file07 = TestFileUtil.readFile("extra" + File.separator + "extra.xlsx"); } @Test diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java index e43dea10..e85d63a6 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java @@ -56,25 +56,25 @@ public class FillDataTest { file07 = TestFileUtil.createNewFile("fill07.xlsx"); file03 = TestFileUtil.createNewFile("fill03.xls"); fileCsv = TestFileUtil.createNewFile("fill.csv"); - simpleTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"); - simpleTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "simple.xls"); - simpleTemplateCsv = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "simple.csv"); + simpleTemplate07 = TestFileUtil.readFile("fill" + File.separator + "simple.xlsx"); + simpleTemplate03 = TestFileUtil.readFile("fill" + File.separator + "simple.xls"); + simpleTemplateCsv = TestFileUtil.readFile("fill" + File.separator + "simple.csv"); fileComplex07 = TestFileUtil.createNewFile("fillComplex07.xlsx"); - complexFillTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "complex.xlsx"); + complexFillTemplate07 = TestFileUtil.readFile("fill" + File.separator + "complex.xlsx"); fileComplex03 = TestFileUtil.createNewFile("fillComplex03.xls"); - complexFillTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "complex.xls"); + complexFillTemplate03 = TestFileUtil.readFile("fill" + File.separator + "complex.xls"); fileHorizontal07 = TestFileUtil.createNewFile("fillHorizontal07.xlsx"); - horizontalFillTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "horizontal.xlsx"); + horizontalFillTemplate07 = TestFileUtil.readFile("fill" + File.separator + "horizontal.xlsx"); fileHorizontal03 = TestFileUtil.createNewFile("fillHorizontal03.xls"); - horizontalFillTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "horizontal.xls"); + horizontalFillTemplate03 = TestFileUtil.readFile("fill" + File.separator + "horizontal.xls"); byName07 = TestFileUtil.createNewFile("byName07.xlsx"); - byNameTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "byName.xlsx"); + byNameTemplate07 = TestFileUtil.readFile("fill" + File.separator + "byName.xlsx"); byName03 = TestFileUtil.createNewFile("byName03.xls"); - byNameTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "byName.xls"); + byNameTemplate03 = TestFileUtil.readFile("fill" + File.separator + "byName.xls"); fileComposite07 = TestFileUtil.createNewFile("fileComposite07.xlsx"); - compositeFillTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "composite.xlsx"); + compositeFillTemplate07 = TestFileUtil.readFile("fill" + File.separator + "composite.xlsx"); fileComposite03 = TestFileUtil.createNewFile("fileComposite03.xls"); - compositeFillTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "composite.xls"); + compositeFillTemplate03 = TestFileUtil.readFile("fill" + File.separator + "composite.xls"); } @Test diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java index 4be041f5..2106c0ef 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java @@ -44,8 +44,8 @@ public class FillAnnotationDataTest { public static void init() { file07 = TestFileUtil.createNewFile("fillAnnotation07.xlsx"); file03 = TestFileUtil.createNewFile("fillAnnotation03.xls"); - fileTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "annotation.xlsx"); - fileTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "annotation.xls"); + fileTemplate07 = TestFileUtil.readFile("fill" + File.separator + "annotation.xlsx"); + fileTemplate03 = TestFileUtil.readFile("fill" + File.separator + "annotation.xls"); } @Test @@ -110,7 +110,7 @@ public class FillAnnotationDataTest { data.setNumber(99.99); data.setString1("string1"); data.setString2("string2"); - data.setImage(TestFileUtil.getPath() + "easyexcel-test/test/resources/converter" + File.separator + "img.jpg"); + data.setImage(TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"); list.add(data); list.add(data); list.add(data); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java index 596dd33a..13367904 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleAnnotatedTest.java @@ -46,8 +46,8 @@ public class FillStyleAnnotatedTest { public static void init() { FillStyleAnnotated07 = TestFileUtil.createNewFile("FillStyleAnnotated07.xlsx"); FillStyleAnnotated03 = TestFileUtil.createNewFile("FillStyleAnnotated03.xls"); - fileStyleTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xlsx"); - fileStyleTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xls"); + fileStyleTemplate07 = TestFileUtil.readFile("fill" + File.separator + "style.xlsx"); + fileStyleTemplate03 = TestFileUtil.readFile("fill" + File.separator + "style.xls"); } @Test diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java index 149d9963..210a5b9f 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/style/FillStyleDataTest.java @@ -49,8 +49,8 @@ public class FillStyleDataTest { fileStyle03 = TestFileUtil.createNewFile("fileStyle03.xls"); fileStyleHandler07 = TestFileUtil.createNewFile("fileStyleHandler07.xlsx"); fileStyleHandler03 = TestFileUtil.createNewFile("fileStyleHandler03.xls"); - fileStyleTemplate07 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xlsx"); - fileStyleTemplate03 = TestFileUtil.readFile("easyexcel-test/test/resources/fill" + File.separator + "style.xls"); + fileStyleTemplate07 = TestFileUtil.readFile("fill" + File.separator + "style.xlsx"); + fileStyleTemplate03 = TestFileUtil.readFile("fill" + File.separator + "style.xls"); } @Test diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java index 24ab53b5..c7f202e5 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java @@ -40,17 +40,17 @@ public class LargeDataTest { @BeforeClass public static void init() { fileFill07 = TestFileUtil.createNewFile("largefill07.xlsx"); - fileWrite07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWrite07.xlsx"); - fileWriteTemp07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWriteTemp07.xlsx"); - fileWritePoi07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWritePoi07.xlsx"); - template07 = TestFileUtil.readFile("easyexcel-test/test/resources/large" + File.separator + "fill.xlsx"); + fileWrite07 = TestFileUtil.createNewFile("large" + File.separator + "fileWrite07.xlsx"); + fileWriteTemp07 = TestFileUtil.createNewFile("large" + File.separator + "fileWriteTemp07.xlsx"); + fileWritePoi07 = TestFileUtil.createNewFile("large" + File.separator + "fileWritePoi07.xlsx"); + template07 = TestFileUtil.readFile("large" + File.separator + "fill.xlsx"); fileCsv = TestFileUtil.createNewFile("largefileCsv.csv"); } @Test public void t01Read() throws Exception { long start = System.currentTimeMillis(); - EasyExcel.read(TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + File.separator + "large07.xlsx", LargeData.class, + EasyExcel.read(TestFileUtil.getPath() + "large" + File.separator + "large07.xlsx", LargeData.class, new LargeDataListener()).headRowNumber(2).sheet().doRead(); LOGGER.info("Large data total time spent:{}", System.currentTimeMillis() - start); } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java index 1ff9ce94..c69e3ae4 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java @@ -26,8 +26,8 @@ public class MultipleSheetsDataTest { @BeforeClass public static void init() { - file07 = TestFileUtil.readFile("easyexcel-test/test/resources/multiplesheets" + File.separator + "multiplesheets.xlsx"); - file03 = TestFileUtil.readFile("easyexcel-test/test/resources/multiplesheets" + File.separator + "multiplesheets.xls"); + file07 = TestFileUtil.readFile("multiplesheets" + File.separator + "multiplesheets.xlsx"); + file03 = TestFileUtil.readFile("multiplesheets" + File.separator + "multiplesheets.xls"); } @Test diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java index e6b56380..80277545 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/simple/SimpleDataTest.java @@ -90,8 +90,8 @@ public class SimpleDataTest { @Test public void t21SheetNameRead07() { - EasyExcel.read(TestFileUtil.readFile("easyexcel-test/test/resources/simple" + File.separator + "simple07.xlsx"), SimpleData.class, - new SimpleDataSheetNameListener()).sheet("easyexcel-test/test/resources/simple").doRead(); + EasyExcel.read(TestFileUtil.readFile("simple" + File.separator + "simple07.xlsx"), SimpleData.class, + new SimpleDataSheetNameListener()).sheet("simple").doRead(); } private void synchronousRead(File file) { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java index 3cc041b8..d6ebd0aa 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/template/TemplateDataTest.java @@ -41,14 +41,14 @@ public class TemplateDataTest { private void readAndWrite07(File file) { EasyExcel.write(file, TemplateData.class) - .withTemplate(TestFileUtil.readFile("easyexcel-test/test/resources/template" + File.separator + "template07.xlsx")).sheet() + .withTemplate(TestFileUtil.readFile("template" + File.separator + "template07.xlsx")).sheet() .doWrite(data()); EasyExcel.read(file, TemplateData.class, new TemplateDataListener()).headRowNumber(3).sheet().doRead(); } private void readAndWrite03(File file) { EasyExcel.write(file, TemplateData.class) - .withTemplate(TestFileUtil.readFile("easyexcel-test/test/resources/template" + File.separator + "template03.xls")).sheet() + .withTemplate(TestFileUtil.readFile("template" + File.separator + "template03.xls")).sheet() .doWrite(data()); EasyExcel.read(file, TemplateData.class, new TemplateDataListener()).headRowNumber(3).sheet().doRead(); } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java index c16a2725..d0f90fe9 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java @@ -36,7 +36,7 @@ public class FillTest { public void simpleFill() { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "simple.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "simple.xlsx"; // 方案1 根据对象填充 String fileName = TestFileUtil.getPath() + "simpleFill" + System.currentTimeMillis() + ".xlsx"; @@ -65,7 +65,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // 填充list 的时候还要注意 模板中{.} 多了个点 表示list String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "list.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "list.xlsx"; // 方案1 一下子全部放到内存里面 并填充 String fileName = TestFileUtil.getPath() + "listFill" + System.currentTimeMillis() + ".xlsx"; @@ -103,7 +103,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complex.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complex.xlsx"; String fileName = TestFileUtil.getPath() + "complexFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -135,7 +135,7 @@ public class FillTest { // {} 代表普通变量 {.} 代表是list的变量 // 这里模板 删除了list以后的数据,也就是统计的这一行 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; String fileName = TestFileUtil.getPath() + "complexFillWithTable" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -176,7 +176,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; String fileName = TestFileUtil.getPath() + "horizontalFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -203,7 +203,7 @@ public class FillTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 {前缀.} 前缀可以区分不同的list String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "composite.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "composite.xlsx"; String fileName = TestFileUtil.getPath() + "compositeFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java index bf56f274..a97d2c1e 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java @@ -45,7 +45,7 @@ public class ReadTest { public void simpleRead() { // 写法1:JDK8+ ,不用额外写一个DemoDataListener // since: 3.0.0-beta1 - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 // 这里每次会读取3000条数据 然后返回过来 直接调用使用数据就行 EasyExcel.read(fileName, DemoData.class, new PageReadListener(dataList -> { @@ -56,7 +56,7 @@ public class ReadTest { // 写法2: // 匿名内部类 不用额外写一个DemoDataListener - fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, DemoData.class, new ReadListener() { /** @@ -94,12 +94,12 @@ public class ReadTest { // 有个很重要的点 DemoDataListener 不能被spring管理,要每次读取excel都要new,然后里面用到spring可以构造方法传进去 // 写法3: - fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead(); // 写法4: - fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 一个文件一个reader ExcelReader excelReader = null; try { @@ -128,7 +128,7 @@ public class ReadTest { */ @Test public void indexOrNameRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里默认读取第一个sheet EasyExcel.read(fileName, IndexOrNameData.class, new IndexOrNameDataListener()).sheet().doRead(); } @@ -144,13 +144,13 @@ public class ReadTest { */ @Test public void repeatedRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 读取全部sheet // 这里需要注意 DemoDataListener的doAfterAllAnalysed 会在每个sheet读取完毕后调用一次。然后所有sheet都会往同一个DemoDataListener里面写 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).doReadAll(); // 读取部分sheet - fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; ExcelReader excelReader = null; try { excelReader = EasyExcel.read(fileName).build(); @@ -183,7 +183,7 @@ public class ReadTest { */ @Test public void converterRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, ConverterData.class, new ConverterDataListener()) // 这里注意 我们也可以registerConverter来指定自定义转换器, 但是这个转换变成全局了, 所有java为string,excel为string的都会用这个转换器。 @@ -206,7 +206,7 @@ public class ReadTest { */ @Test public void complexHeaderRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet() // 这里可以设置1,因为头就是一行。如果多行头,可以设置其他值。不传入也可以,因为默认会根据DemoData 来解析,他没有指定头,也就是默认1行 @@ -225,7 +225,7 @@ public class ReadTest { */ @Test public void headerRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, DemoData.class, new DemoHeadDataListener()).sheet().doRead(); } @@ -246,7 +246,7 @@ public class ReadTest { */ @Test public void extraRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "extra.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "extra.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, DemoExtraData.class, new DemoExtraListener()) // 需要读取批注 默认不读取 @@ -271,7 +271,7 @@ public class ReadTest { */ @Test public void cellDataRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "cellDataDemo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "cellDataDemo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, CellDataReadDemoData.class, new CellDataDemoHeadDataListener()).sheet().doRead(); } @@ -288,7 +288,7 @@ public class ReadTest { */ @Test public void exceptionRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet EasyExcel.read(fileName, ExceptionDemoData.class, new DemoExceptionListener()).sheet().doRead(); } @@ -298,7 +298,7 @@ public class ReadTest { */ @Test public void synchronousRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 需要指定读用哪个class去读,然后读取第一个sheet 同步读取会自动finish List list = EasyExcel.read(fileName).head(DemoData.class).sheet().doReadSync(); for (DemoData data : list) { @@ -318,7 +318,7 @@ public class ReadTest { */ @Test public void noModelRead() { - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 这里 只要,然后读取第一个sheet 同步读取会自动finish EasyExcel.read(fileName, new NoModelDataListener()).sheet().doRead(); } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 462511c3..41372f6a 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -267,7 +267,7 @@ public class WriteTest { public void imageWrite() throws Exception { String fileName = TestFileUtil.getPath() + "imageWrite" + System.currentTimeMillis() + ".xlsx"; - String imagePath = TestFileUtil.getPath() + "easyexcel-test/test/resources/converter" + File.separator + "img.jpg"; + String imagePath = TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"; try (InputStream inputStream = FileUtils.openInputStream(new File(imagePath))) { List list = ListUtils.newArrayList(); ImageDemoData imageDemoData = new ImageDemoData(); @@ -419,7 +419,7 @@ public class WriteTest { */ @Test public void templateWrite() { - String templateFileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "demo.xlsx"; + String templateFileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; String fileName = TestFileUtil.getPath() + "templateWrite" + System.currentTimeMillis() + ".xlsx"; // 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭 EasyExcel.write(fileName, DemoData.class).withTemplate(templateFileName).sheet().doWrite(data()); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java index 34ff7a3a..23f623b6 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java @@ -33,7 +33,7 @@ public class WriteLargeTest { @Test public void test() throws Exception { // 方法2 如果写到不同的sheet 同一个对象 - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + System.currentTimeMillis() + ".xlsx"; + String fileName = TestFileUtil.getPath() + "large" + System.currentTimeMillis() + ".xlsx"; // 头的策略 WriteCellStyle headWriteCellStyle = new WriteCellStyle(); // 背景设置为红色 @@ -69,7 +69,7 @@ public class WriteLargeTest { @Test public void test2() throws Exception { // 方法2 如果写到不同的sheet 同一个对象 - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + System.currentTimeMillis() + ".xlsx"; + String fileName = TestFileUtil.getPath() + "large" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName, LargeData.class).build(); WriteSheet writeSheet = EasyExcel.writerSheet().build(); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java index 01046ce4..4440f350 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/dataformat/DataFormatTest.java @@ -132,7 +132,7 @@ public class DataFormatTest { @Test public void test355() throws IOException, InvalidFormatException { - File file = TestFileUtil.readFile("easyexcel-test/test/resources/dataformat" + File.separator + "dataformat.xlsx"); + File file = TestFileUtil.readFile("dataformat" + File.separator + "dataformat.xlsx"); XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file); Sheet xssfSheet = xssfWorkbook.getSheetAt(0); DataFormatter d = new DataFormatter(Locale.CHINA); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java index a538ab88..2c201863 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/fill/FillTempTest.java @@ -64,7 +64,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // 填充list 的时候还要注意 模板中{.} 多了个点 表示list String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "list.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "list.xlsx"; // 方案1 一下子全部放到内存里面 并填充 String fileName = TestFileUtil.getPath() + "listFill" + System.currentTimeMillis() + ".xlsx"; @@ -91,7 +91,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complex.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complex.xlsx"; String fileName = TestFileUtil.getPath() + "complexFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -123,7 +123,7 @@ public class FillTempTest { // {} 代表普通变量 {.} 代表是list的变量 // 这里模板 删除了list以后的数据,也就是统计的这一行 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; String fileName = TestFileUtil.getPath() + "complexFillWithTable" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -164,7 +164,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; String fileName = TestFileUtil.getPath() + "horizontalFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); @@ -191,7 +191,7 @@ public class FillTempTest { // 模板注意 用{} 来表示你要用的变量 如果本来就有"{","}" 特殊字符 用"\{","\}"代替 // {} 代表普通变量 {.} 代表是list的变量 {前缀.} 前缀可以区分不同的list String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/demo" + File.separator + "fill" + File.separator + "composite.xlsx"; + TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "composite.xlsx"; String fileName = TestFileUtil.getPath() + "compositeFill" + System.currentTimeMillis() + ".xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java index aa4de2b9..7f89621c 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue1663/FillTest.java @@ -23,9 +23,9 @@ public class FillTest { @Test public void TestFillNullPoint(){ String templateFileName = - TestFileUtil.getPath() + "easyexcel-test/test/resources/temp/issue1663" + File.separator + "template.xlsx"; + TestFileUtil.getPath() + "temp/issue1663" + File.separator + "template.xlsx"; - String fileName = TestFileUtil.getPath() + "easyexcel-test/test/resources/temp/issue1663" + File.separator + "issue1663.xlsx"; + String fileName = TestFileUtil.getPath() + "temp/issue1663" + File.separator + "issue1663.xlsx"; ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); WriteSheet writeSheet = EasyExcel.writerSheet().build(); FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.VERTICAL).build(); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java index 8a6b8625..934b62f5 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/large/TempLargeDataTest.java @@ -45,10 +45,10 @@ public class TempLargeDataTest { @BeforeClass public static void init() { fileFill07 = TestFileUtil.createNewFile("largefill07.xlsx"); - fileWrite07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWrite07.xlsx"); - fileWriteTemp07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWriteTemp07.xlsx"); - fileWritePoi07 = TestFileUtil.createNewFile("easyexcel-test/test/resources/large" + File.separator + "fileWritePoi07.xlsx"); - template07 = TestFileUtil.readFile("easyexcel-test/test/resources/large" + File.separator + "fill.xlsx"); + fileWrite07 = TestFileUtil.createNewFile("large" + File.separator + "fileWrite07.xlsx"); + fileWriteTemp07 = TestFileUtil.createNewFile("large" + File.separator + "fileWriteTemp07.xlsx"); + fileWritePoi07 = TestFileUtil.createNewFile("large" + File.separator + "fileWritePoi07.xlsx"); + template07 = TestFileUtil.readFile("large" + File.separator + "fill.xlsx"); fileCsv = TestFileUtil.createNewFile("largefileCsv.csv"); } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java index 4f7a3431..4eb7714c 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/Poi3Test.java @@ -30,7 +30,7 @@ public class Poi3Test { @Test public void Encryption() throws Exception { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/large" + File.separator + "large07.xlsx"; + String file = TestFileUtil.getPath() + "large" + File.separator + "large07.xlsx"; POIFSFileSystem fs = new POIFSFileSystem(); EncryptionInfo info = new EncryptionInfo(EncryptionMode.agile); Encryptor enc = info.getEncryptor(); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java index e83f7a7d..e27136d4 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/poi/PoiTest.java @@ -176,7 +176,7 @@ public class PoiTest { @Test public void lastRowNum233() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; Workbook xx = new XSSFWorkbook(file); System.out.println(new File(file).exists()); @@ -231,7 +231,7 @@ public class PoiTest { @Test public void lastRowNum2333() throws IOException, InvalidFormatException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new File(file)); SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook(xssfWorkbook); Sheet xssfSheet = xssfWorkbook.getSheetAt(0); @@ -248,14 +248,14 @@ public class PoiTest { @Test public void testread() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getXSSFWorkbook().getSheetAt(0); // // Cell cell = xssfSheet.getRow(0).createCell(9); - String file1 = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file1 = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook1 = new SXSSFWorkbook(new XSSFWorkbook(file1)); Sheet xssfSheet1 = xssfWorkbook1.getXSSFWorkbook().getSheetAt(0); @@ -268,13 +268,13 @@ public class PoiTest { @Test public void testreadRead() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; FileUtils.readFileToByteArray(new File(file)); } @Test public void lastRowNum2332222() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getXSSFWorkbook().getSheetAt(0); @@ -287,7 +287,7 @@ public class PoiTest { @Test public void lastRowNum23443() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getSheetAt(0); @@ -298,7 +298,7 @@ public class PoiTest { @Test public void lastRowNum2() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; SXSSFWorkbook xssfWorkbook = new SXSSFWorkbook(new XSSFWorkbook(file)); Sheet xssfSheet = xssfWorkbook.getXSSFWorkbook().getSheetAt(0); LOGGER.info("一共行数:{}", xssfSheet.getPhysicalNumberOfRows()); @@ -309,7 +309,7 @@ public class PoiTest { @Test public void lastRowNumXSSF2() throws IOException { - String file = TestFileUtil.getPath() + "easyexcel-test/test/resources/fill" + File.separator + "simple.xlsx"; + String file = TestFileUtil.getPath() + "fill" + File.separator + "simple.xlsx"; XSSFWorkbook xssfWorkbook = new XSSFWorkbook(file); LOGGER.info("一共:{}个sheet", xssfWorkbook.getNumberOfSheets()); XSSFSheet xssfSheet = xssfWorkbook.getSheetAt(0); diff --git a/update.md b/update.md index 0ee6b28e..5ff096f3 100644 --- a/update.md +++ b/update.md @@ -10,6 +10,7 @@ * 捕获`setFeature`异常不影响主流程 [Issue #2054](https://github.com/alibaba/easyexcel/issues/2054) * 增加部分`xls`容错 [Issue #2236](https://github.com/alibaba/easyexcel/issues/2236) * 修复读取csv文件时`autoTrim`配置失效 [Issue #2227](https://github.com/alibaba/easyexcel/issues/2227) +* csv支持设置读写编码 [Issue #2404](https://github.com/alibaba/easyexcel/issues/2404) # 3.0.5 From 877b33ce6a25d814cbae1ecf5a7613e69e60a6f5 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 11:05:15 +0800 Subject: [PATCH 51/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=A1=88=E4=BE=8B=E8=BF=90=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index e1f265e1..789c404b 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -53,7 +53,7 @@ maven-surefire-plugin - com/alibaba/easyexcel/test/core/**/*.java + /com/alibaba/easyexcel/test/core/**/*.java true From 086871fbfe0642533c323fc83d4563ba33d7667e Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 11:09:48 +0800 Subject: [PATCH 52/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java index 6fd79db4..0260534f 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/web/WebTest.java @@ -49,7 +49,7 @@ public class WebTest { String fileName = URLEncoder.encode("测试", "UTF-8").replaceAll("\\+", "%20"); response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".xlsx"); - EasyExcel.write(response.getOutputStream()).sheet("模板").doWrite(data()); + EasyExcel.write(response.getOutputStream(), DownloadData.class).sheet("模板").doWrite(data()); } /** From 5c986a1092e945462f9e62303b252f2e49681199 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 11:18:59 +0800 Subject: [PATCH 53/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index 789c404b..ef6f24d1 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -52,9 +52,11 @@ org.apache.maven.plugins maven-surefire-plugin - - /com/alibaba/easyexcel/test/core/**/*.java - + + /com/alibaba/easyexcel/test/demo/**/*.java + /com/alibaba/easyexcel/test/temp/**/*.java + /com/alibaba/easyexcel/test/util/**/*.java + true From d29b4e1fb6b5b40707997c42da3ddeeb52c7609d Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 11:26:56 +0800 Subject: [PATCH 54/68] =?UTF-8?q?=E9=87=8D=E6=96=B0=E8=BF=90=E8=A1=8C?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index ef6f24d1..f802f249 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -62,5 +62,4 @@ - From b58a7aa83fbb420f940b7a3cda903f0e67800fd3 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 11:32:30 +0800 Subject: [PATCH 55/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E7=9A=84=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index f802f249..bda2ba67 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -53,9 +53,9 @@ maven-surefire-plugin - /com/alibaba/easyexcel/test/demo/**/*.java - /com/alibaba/easyexcel/test/temp/**/*.java - /com/alibaba/easyexcel/test/util/**/*.java + demo/**/*.java + test/temp/**/*.java + util/**/*.java true From 4539d7b93e6c596f3da942b39e3d7f3e0fec606e Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 11:34:39 +0800 Subject: [PATCH 56/68] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=8E=92=E9=99=A4?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index bda2ba67..5be60ead 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -53,9 +53,7 @@ maven-surefire-plugin - demo/**/*.java - test/temp/**/*.java - util/**/*.java + **/*.java true From 81d00f55c8f47a30e7c893df389e538b6fc40fe6 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 14:13:26 +0800 Subject: [PATCH 57/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9mvn=20=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .mvn/jvm.config | 1 - .mvn/wrapper/maven-wrapper.jar | Bin 50709 -> 58727 bytes 2 files changed, 1 deletion(-) delete mode 100644 .mvn/jvm.config diff --git a/.mvn/jvm.config b/.mvn/jvm.config deleted file mode 100644 index f432c960..00000000 --- a/.mvn/jvm.config +++ /dev/null @@ -1 +0,0 @@ --Xmx1536m \ No newline at end of file diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar index e89f07c229cbd97f4e39b0eddba64604d1dca9f6..c1dd12f17644411d6e840bd5a10c6ecda0175f18 100644 GIT binary patch literal 58727 zcmb5W18`>1vNjyPv28mO+cqb*Z6_1kwr$(?#I}=(ZGUs`Jr}3`|DLbDUA3!L?dtC8 zUiH*ktDo+@6r@4HP=SCTA%WmZqm^Ro`Ls)bfPkcdfq?#g1(Fq27W^S8Cq^$TC?_c< zs-#ROD;6C)1wFuk7<3)nGuR^#!H;n&3*IjzXg+s8Z_S!!E0jUq(`}Itt=YdYa5Z_s z&e>2={87knpF*PKNzU;lsbk#P(l^WBvb$yEz)z+nYH43pKodrDkMp@h?;n{;K}hl>Fb^ zqx}C0|D7kg|Cj~3f7hn_zkAE}|6t|cZT|S5Hvb#3nc~C14u5UI{6#F<|FkJ0svs&S zA}S{=DXLT*BM1$`2rK%`D@vEw9l9%*=92X_2g?Fwfi=6Zfpr7+<~sgP#Bav+Df2ts zwtu~70zhqV?mrzM)}r7mMS`Hk_)NrI5K%CTtQtDxqw5iv5F0!ksIon{qqpPVnU?ds zN$|Vm{MHKEReUy>1kVfT-$3))Js0p2W_LFy3cjjZ7za0R zPdBH>y&pb0vr1|ckDpt2p$IQhwnPs5G*^b-y}sg4W!ALn}a`pY0JIa$H0$eV2T8WjWD= zWaENacQhlTyK4O!+aOXBurVR2k$eb8HVTCxy-bcHlZ4Xr!`juLAL#?t6|Ba!g9G4I zSwIt2Lla>C?C4wAZ8cKsZl9-Yd3kqE`%!5HlGdJJaFw0mu#--&**L-i|BcIdc3B$;0FC;FbE-dunVZ; zdIQ=tPKH4iJQQ=$5BeEMLov_Hn>gXib|9nOr}>eZt@B4W^m~>Zp#xhn1dax+?hS!AchWJ4makWZs@dQUeXQ zsI2+425_{X@t2KN zIbqec#)Jg5==VY3^YBeJ2B+%~^Y8|;F!mE8d(`UgNl2B9o>Ir5)qbBr)a?f%nrP zQyW(>FYPZjCVKDOU;Bw#PqPF1CCvp)dGdA&57a5hD&*vIc)jA)Z-!y5pS{5W6%#prH16zgD8s zexvpF#a|=*acp>L^lZ(PT)GiA8BJL-9!r8S$ZvXRKMVtiGe`+!@O%j<1!@msc177U zTDy>WOZu)W5anPrweQyjIu3IJC|ngdjZofGbdW&oj^DJlC7$;|xafB45evT|WBgGf-b|9y0J`fe0W-vw6xh}` z=(Tnq(-K0O{;VUcKe2y63{HXc+`R_#HLwnZ0rzWO*b#VeSuC4NG!H_ApCypbt1qx( z6y7Q$5(JOpQ&pTkc^0f}A0Kq*?;g9lEfzeE?5e2MBNZB)^8W1)YgdjsVyN+I9EZlh z3l}*}*)cFl=dOq|DvF=!ui$V%XhGQ%bDn3PK9 zV%{Y|VkAdt^d9~y4laGDqSwLd@pOnS&^@sI7}YTIb@El1&^_sq+{yAGf0|rq5TMp# z6d~;uAZ(fY3(eH=+rcbItl2=u6mf|P{lD4kiRCv;>GtFaHR3gim?WU9RjHmFZLm+m z+j<}_exaOQ1a}=K#voc~En+Mk_<(L!?1e#Uay~|H5q)LjD*yE6xFYQ-Wx{^iH1@pP zC0De#D6I26&W{;J40sZB!=%{c?XdO?YQvnTMA3TwfhAm@bvkX*(x?JTs*dFDv^=2X z284}AK)1nRn+8(Q2P?f)e>0~;NUI9%p%fnv1wBVpoXL+9OE`Vv1Y7=+nub$o7AN>y zB?R(^G8PYcMk4bxe7XItq@48QqWKb8fa*i9-N)=wdU-Q^=}!nFgTr_uT=Z=9pq z`{7!$U|+fnXFcsJ4GNm3JQQCN+G85k$)ZLhF{NbIy{REj84}Zt;0fe#>MARW)AoSb zrBpwF37ZVBMd>wZn_hAadI*xu8)Y#`aMbwRIA2n^-OS~M58_@j?#P1|PXJ1XBC9{4 zT^8*|xu<@(JlSOT*ILrVGr+7$nZN`Z3GxJJO@nY&mHsv^^duAh*lCu5q+S6zWA+`- z%^*y#)O7ko_RwGJl;bcEpP03FOrhlLWs`V_OUCrR-g>NJz*pN|itmN6O@Hw05Zq;Xtif%+sp4Py0{<7<^c zeoHHhRq>2EtYy9~2dZywm&OSk`u2ECWh6dJY?;fT-3-$U`!c(o$&hhPC%$~fT&bw3 zyj+8aXD;G!p*>BC6rpvx#6!|Qaic;KEv5>`Y+R(6F^1eIeYG6d1q3D3OL{7%7iw3R zwO)W7gMh27ASSB>-=OfP(YrKqBTNFv4hL@Im~~ombbSu44p~VoH$H-6+L_JW>Amkl zhDU~|r77?raaxD!-c$Ta?WAAi{w3T}YV=+S?1HQGC0+{Bny_^b+4Jum}oW4c=$ z#?D<}Ds{#d5v`L`${Pee;W84X*osNQ96xsKp^EAzuUh9#&zDX=eqdAp$UY)EGrkU% z(6m35n=46B$TNnejNSlih_!<)Iu@K!PW5S@Ya^0OK+EMWM=1w=GUKW^(r59U%i?d zzbo?|V4tDWGHHsrAQ}}ma#<`9r=M8%XF#%a=@Hn(p3wFBlkZ2L@8=*@J-^zuyF0aN zzJ7f!Jf8I+^6Tt$e+IIh zb80@?7y#Iz3w-0VEjgbHurqI>$qj<@n916)&O340!_5W9DtwR)P5mk6v2ljyK*DG5 zYjzE~m`>tq8HYXl%1JJ%e-%BqV4kRdPUZB1Cm$BQZr(fzp_@rn_W+;GwI$?L2Y4;b z)}c5D$#LT}2W8Si<`EHKIa_X+>+2PF(C*u~F=8E!jL(=IdQxY40%|( zoNg2Z&Aob@LEui-lJ#@)Ts)tE0_!*3{Uk)r{;-IZpX`N4mZX`#E|A;viQWImB6flI z?M_|xHCXV$5LOY-!U1_O1k;OWa=EchwlDCK4xHwBW2jE-6&%}og+9NILu${v10Z^Z#* zap|)B9a-AMU~>$r)3&|dQuP#MA$jnw54w*Ax~*_$iikp+j^OR8I5Fo<_UR#B-c>$? zeg)=;w^sGeAMi<3RGDRj$jA30Qq$e|zf2z;JyQ}tkU)ZI_k6tY%(`#AvL)p)iYXUy z5W9Su3NJ8mVyy)WqzFSk&vZM!;kUh8dVeA-myqcV%;xUne`PbHCPpvH?br`U2Y&dM zV!nJ!^n%`!H&!QSlpzLWnZpgi;#P0OAleH+<CfLa?&o|kyw1}W%6Pij zp$Vv5=;Z0LFN|j9i&9>zqX>*VnV3h#>n!2L?5gO6HJS3~kpy5G zYAVPMaB-FJOk3@OrxL(*-O~OB9^d{!G0K>wlzXuBm*$&%p1O#6SQ*?Q0CETLQ->XpfkW7< zj&Nep(}eAH1u$wWFvLV*lA{JOltP_%xKXC*a8DB&;{fD&2bATy>rC^kFY+$hFS7us;Y) zy_H?cv9XTHYz<4C<0b`WKC#{nJ15{F=oaq3x5}sYApT?Po+(Cmmo#dHZFO^{M#d~d znRT=TFATGVO%z_FNG-@G;9az|udZ>t@5l+A-K)BUWFn_|T#K3=d3EXRNqHyi#>;hX z*JQ`pT3#&tH>25laFlL6Rllu(seA*OboEd%rxMtz3@5v-+{qDP9&BcoS$2fgjgvp$ zc8!3=p0p@Ee1$u{Gg}Kkxg@M*qgZfYLlnD88{uwG1T?zxCbBR+x(RK$JB(eWJH#~; zZoY6L+esVRV?-*QmRCG}h`rB*Lv=uE%URF@+#l-g!Artx>Y9D;&G=jY2n2`J z{6-J%WX~Glx*QBmOOJ(RDRIzhfk&ibsm1t&&7aU{1P3U0uM%F2zJb4~50uby_ng+# zN)O9lK=dkJpxsUo7u8|e`Y~mmbxOTDn0i!i;d;ml#orN(Lc=j+n422NoSnlH6?0<0?th-qB7u}`5My%#?ES}>@RldOQz}WILz<$+cN~&ET zwUI01HCB((TyU$Ej8bxsE8oLmT-c7gA1Js?Iq`QMzIHV|)v)n2 zT_L(9x5%8*wU(C`VapaHoicWcm|0X@9TiNtbc|<4N6_H1F6&qgEEj=vjegFt;hC7- zLG7_=vedRFZ6Chbw!{#EpAlM?-sc#pc<~j#537n)M%RT)|L}y(ggi_-SLpsE3qi3V z=EEASxc>a{Su)jXcRS41Z@Mxk&0B7B<(?Izt5wpyyIBO|-M}ex8BhbIgi*X4 zDZ+Yk1<6&=PoZ=U-!9`!?sBVpYF#Y!JK<`fx}bXN651o0VVaW;t6ASVF@gq-mIDV_)?F^>rq1XX0NYy~(G=I6x%Fi5C2rMtvs z%P`g2>0{xLUy~#ye)%QAz^NkD5GUyPYl}K#;e-~UQ96`I$U0D!sMdQ>;%+c0h>k*Y z)sD1mi_@|rZnQ+zbWq~QxFlBQXj8WEY7NKaOYjUxAkGB8S#;l@b^C?;twRKl=mt0< zazifrBs`(q7_r14u1ZS`66VmsLpV>b5U!ktX>g4Nq~VPq6`%`3iCdr(>nS~uxxylU z>h(2p$XPJVh9BDpRLLzTDlNdp+oq8sOUlJ#{6boG`k)bwnsw5iy@#d{f_De-I|}vx6evw;ch97=;kLvM)-DBGwl6%fA%JItoMeyqjCR*_5Q70yd!KN zh=>ek8>f#~^6CJR0DXp0;7ifZjjSGBn}Cl{HeX!$iXMbtAU$F+;`%A<3TqbN#PCM& z&ueq$cB%pu2oMm_-@*aYzgn9`OiT@2ter*d+-$Aw42(@2Ng4mKG%M-IqX?q%3R|_( zN|&n$e1L#Ev=YMX5F53!O%))qDG3D(0rsOHblk;9ghWyqEOpg)mC$OduqpHAuIxr_>*|zy+|=EmOFn zFM+Ni%@CymLS-3vRWn=rVk?oZEz0V#y356IE6HR5#>7EigxZ05=cA|4<_tC8jyBJ| zgg!^kNwP7S^ooIj6riI9x`jFeQfRr4JCPumr<82M zto$j^Qb~MPmJ-|*2u{o7?yI8BI``zDaOCg2tG_5X;w<|uj5%oDthnLx-l4l)fmUGx z6N^jR|DC);yLi4q-ztTkf>*U$@2^w5(lhxu=OC|=WuTTp^!?2Nn27R`2FY_ zLHY-zFS}r+4|XyZw9b0D3)DmS!Gr+-LSdI}m{@-gL%^8CFSIYL?UZaCVd)2VI3|ay zwue39zshVrB+s2lp*};!gm<79@0HkjhgF^>`UhoR9Mi`aI#V#fI@x&1K3f&^8kaq% zkHVg$CTBoaGqEjrL)k*Y!rtiD2iQLYZ%|B}oBl8GHvR%n>HiIQN*+$mCN>I=c7H2N z&K4$4e@E^ff-cVHCbrHNMh4Dy|2Q;M{{xu|DYjeaRh2FK5QK!bG_K`kbBk$l$S4UF zq?F-%7UrX_Q?9M)a#WvcZ^R-fzJB5IFP>3uEoeCAAhN5W-ELRB&zsCnWY6#E?!)E56Pe+bxHjGF6;R9Hps)+t092-bf4 z_Wieg+0u5JL++k)#i0r?l`9*k)3ZlHOeMJ1DTdx9E1J2@BtdD3qX;&S_wMExOGv$T zl^T%oxb+)vq6vJvR`8{+YOsc@8}wSXpoK%v0k@8X*04Se3<8f)rE|fRXAoT!$6MdrKSuzeK@L*yug?MQs8oTbofqW)Df# zC2J3irHAaX_e~SGlBoRhEW`W6Z}&YX|5IMfzskAt{B*m z*w=3i!;x5Gfgc~>y9fPXFAPMhO@Si}SQESjh`P|dlV5HPRo7j(hV=$o8UMIT7~7+k z*@Sd>f%#{ARweJYhQs~ECpHie!~YXL|FJA;KS4m|CKFnT{fN`Ws>N?CcV@(>7WMPYN} z1}Wg+XU2(Yjpq7PJ|aSn;THEZ{4s8*@N!dz&bjys_Zk7%HiD+56;cF26`-a zEIo!B(T|L*uMXUvqJs&54`^@sUMtH-i~rOM9%$xGXTpmow$DxI>E5!csP zAHe|);0w%`I<==_Zw9t$e}?R+lIu%|`coRum(1p~*+20mBc?Z=$+z<0n&qS0-}|L4 zrgq|(U*eB%l3nfC=U1Y?(Tf@0x8bhdtsU2w&Y-WvyzkiyJ>GZqUP6c+<_p0`ZOnIK z#a~ynuzRWxO6c;S@*}B1pTjLJQHi(+EuE2;gG*p^Fq%6UoE1x95(^BY$H$$soSf=vpJ)_3E zp&$l=SiNaeoNLAK8x%XaHp3-So@F7 z3NMRRa@%k+Z$a%yb25ud&>Cdcb<+}n>=jZ`91)a z{wcA(j$%z#RoyB|&Z+B4%7Pe*No`pAX0Y;Ju4$wvJE{VF*Qej8C}uVF=xFpG^rY6Y+9mcz$T9^x(VP3uY>G3Zt&eU{pF*Bu<4j9MPbi4NMC=Z$kS6DMW9yN#vhM&1gd1t}8m(*YY9 zh2@s)$1p4yYT`~lYmU>>wKu+DhlnI1#Xn4(Rnv_qidPQHW=w3ZU!w3(@jO*f;4;h? zMH0!08(4=lT}#QA=eR(ZtW1=~llQij7)L6n#?5iY_p>|_mLalXYRH!x#Y?KHyzPB^ z6P3YRD}{ou%9T%|nOpP_??P;Rmra7$Q*Jz-f?42PF_y>d)+0Q^)o5h8@7S=je}xG# z2_?AdFP^t{IZHWK)9+EE_aPtTBahhUcWIQ7Awz?NK)ck2n-a$gplnd4OKbJ;;tvIu zH4vAexlK2f22gTALq5PZ&vfFqqERVT{G_d`X)eGI%+?5k6lRiHoo*Vc?ie6dx75_t z6hmd#0?OB9*OKD7A~P$e-TTv3^aCdZys6@`vq%Vi_D8>=`t&q9`Jn1=M#ktSC>SO3 z1V?vuIlQs6+{aHDHL?BB&3baSv;y#07}(xll9vs9K_vs2f9gC9Biy+9DxS77=)c z6dMbuokO-L*Te5JUSO$MmhIuFJRGR&9cDf)@y5OQu&Q$h@SW-yU&XQd9;_x;l z<`{S&Hnl!5U@%I~5p)BZspK894y7kVQE7&?t7Z|OOlnrCkvEf7$J5dR?0;Jt6oANc zMnb_Xjky|2ID#fhIB2hs-48Er>*M?56YFnjC)ixiCes%fgT?C|1tQupZ0Jon>yr|j z6M66rC(=;vw^orAMk!I1z|k}1Ox9qOILGJFxU*ZrMSfCe?)wByP=U73z+@Pfbcndc=VzYvSUnUy z+-B+_n`=f>kS8QBPwk+aD()=#IqkdxHPQMJ93{JGhP=48oRkmJyQ@i$pk(L&(p6<0 zC9ZEdO*i+t`;%(Ctae(SjV<@i%r5aune9)T4{hdzv33Uo9*K=V18S$6VVm^wgEteF za0zCLO(9~!U9_z@Qrh&rS|L0xG}RWoE1jXiEsrTgIF4qf#{0rl zE}|NGrvYLMtoORV&FWaFadDNCjMt|U8ba8|z&3tvd)s7KQ!Od*Kqe(48&C7=V;?`SQV)Qc?6L^k_vNUPbJ>>!5J?sDYm5kR&h_RZk)MfZ1 znOpQ|T;Me(%mdBJR$sbEmp3!HKDDSmMDnVpeo{S13l#9e6OImR$UPzjd-eCwmMwyT zm5~g6DIbY<_!8;xEUHdT(r_OQ<6QCE9Jy|QLoS>d(B zW6GRzX)~&Mx}})ITysFzl5_6JM*~ciBfVP(WF_r zY>z4gw&AxB%UV3Y{Y6z*t*o!p@~#u3X_t{Q9Us8ar8_9?N% zN&M~6y%2R(mAZ~@Tg1Oapt?vDr&fHuJ=V$wXstq|)eIG_4lB#@eU>fniJh zwJY<8yH5(+SSQ=$Y=-$2f$@^Ak#~kaR^NYFsi{XGlFCvK(eu{S$J(owIv17|p-%0O zL-@NyUg!rx0$Uh~JIeMX6JJE>*t<7vS9ev#^{AGyc;uio_-Je1?u#mA8+JVczhA2( zhD!koe;9$`Qgaxlcly4rdQ1VlmEHUhHe9TwduB+hm3wH2o27edh?|vrY{=;1Doy4& zIhP)IDd91@{`QQqVya(ASth4}6OY z-9BQj2d-%+-N7jO8!$QPq%o$9Fy8ja{4WT$gRP+b=Q1I48g-g|iLNjbhYtoNiR*d- z{sB}~8j*6*C3eM8JQj5Jn?mD#Gd*CrVEIDicLJ-4gBqUwLA-bp58UXko;M|ql+i5` zym-&U5BIS9@iPg#fFbuXCHrprSQKRU0#@yd%qrX1hhs*85R}~hahfFDq=e@bX))mf zWH%mXxMx|h5YhrTy;P_Xi_IDH*m6TYv>|hPX*_-XTW0G9iu!PqonQneKKaCVvvF^% zgBMDpN7!N?|G5t`v{neLaCFB{OyIl>qJQ_^0MJXQ zY2%-si~ej?F^%ytIIHU(pqT+3d+|IQ{ss#!c91R{2l*00e3ry!ha|XIsR%!q=E^Fal`6Oxu`K0fmPM?P6ZgzH7|TVQhl;l2 z)2w0L9CsN-(adU5YsuUw19OY_X69-!=7MIJ^(rUNr@#9l6aB8isAL^M{n2oD0FAHk97;X* z-INjZ5li`a|NYNt9gL2WbKT!`?%?lB^)J)9|025nBcBtEmWBRXQwi21EGg8>!tU>6Wf}S3p!>7vHNFSQR zgC>pb^&OHhRQD~7Q|gh5lV)F6i++k4Hp_F2L2WrcxH&@wK}QgVDg+y~o0gZ=$j&^W zz1aP8*cvnEJ#ffCK!Kz{K>yYW`@fc8ByF9X4XmyIv+h!?4&$YKl*~`ToalM{=Z_#^ zUs<1Do+PA*XaH;&0GW^tDjrctWKPmCF-qo7jGL)MK=XP*vt@O4wN1Y!8o`{DN|Rh) znK?nvyU&`ATc@U*l}=@+D*@l^gYOj&6SE|$n{UvyPwaiRQ_ua2?{Vfa|E~uqV$BhH z^QNqA*9F@*1dA`FLbnq;=+9KC@9Mel*>6i_@oVab95LHpTE)*t@BS>}tZ#9A^X7nP z3mIo+6TpvS$peMe@&=g5EQF9Mi9*W@Q`sYs=% z`J{3llzn$q;2G1{N!-#oTfQDY`8>C|n=Fu=iTk443Ld>>^fIr4-!R3U5_^ftd>VU> zij_ix{`V$I#k6!Oy2-z#QFSZkEPrXWsYyFURAo`Kl$LkN>@A?_);LE0rZIkmjb6T$ zvhc#L-Cv^4Ex*AIo=KQn!)A4;7K`pu-E+atrm@Cpmpl3e>)t(yo4gGOX18pL#xceU zbVB`#5_@(k{4LAygT1m#@(7*7f5zqB)HWH#TCrVLd9}j6Q>?p7HX{avFSb?Msb>Jg z9Q9DChze~0Psl!h0E6mcWh?ky! z$p#@LxUe(TR5sW2tMb#pS1ng@>w3o|r~-o4m&00p$wiWQ5Sh-vx2cv5nemM~Fl1Pn z@3ALEM#_3h4-XQ&z$#6X&r~U-&ge+HK6$)-`hqPj0tb|+kaKy*LS5@a9aSk!=WAEB z7cI`gaUSauMkEbg?nl0$44TYIwTngwzvUu0v0_OhpV;%$5Qgg&)WZm^FN=PNstTzW z5<}$*L;zrw>a$bG5r`q?DRc%V$RwwnGIe?m&(9mClc}9i#aHUKPLdt96(pMxt5u`F zsVoku+IC|TC;_C5rEU!}Gu*`2zKnDQ`WtOc3i#v}_9p>fW{L4(`pY;?uq z$`&LvOMMbLsPDYP*x|AVrmCRaI$UB?QoO(7mlBcHC};gA=!meK)IsI~PL0y1&{Dfm6! zxIajDc1$a0s>QG%WID%>A#`iA+J8HaAGsH z+1JH=+eX5F(AjmZGk|`7}Gpl#jvD6_Z!&{*kn@WkECV-~Ja@tmSR|e_L@9?N9 z3hyyry*D0!XyQh_V=8-SnJco#P{XBd1+7<5S3FA)2dFlkJY!1OO&M7z9uO?$#hp8K z><}uQS-^-B;u7Z^QD!7#V;QFmx0m%{^xtl3ZvPyZdi;^O&c;sNC4CHxzvvOB8&uHl zBN;-lu+P=jNn`2k$=vE0JzL{v67psMe_cb$LsmVfxA?yG z^q7lR00E@Ud3)mBPnT0KM~pwzZiBREupva^PE3~e zBgQ9oh@kcTk2)px3Hv^VzTtMzCG?*X(TDZ1MJ6zx{v- z;$oo46L#QNjk*1przHSQn~Ba#>3BG8`L)xla=P{Ql8aZ!A^Z6rPv%&@SnTI7FhdzT z-x7FR0{9HZg8Bd(puRlmXB(tB?&pxM&<=cA-;RT5}8rI%~CSUsR^{Dr%I2WAQghoqE5 zeQ874(T`vBC+r2Mi(w`h|d zA4x%EfH35I?h933@ic#u`b+%b+T?h=<}m@x_~!>o35p|cvIkkw07W=Ny7YcgssA_^ z|KJQrnu||Nu9@b|xC#C5?8Pin=q|UB?`CTw&AW0b)lKxZVYrBw+whPwZJCl}G&w9r zr7qsqm>f2u_6F@FhZU0%1Ioc3X7bMP%by_Z?hds`Q+&3P9-_AX+3CZ=@n!y7udAV2 zp{GT6;VL4-#t0l_h~?J^;trk1kxNAn8jdoaqgM2+mL&?tVy{I)e`HT9#Tr}HKnAfO zAJZ82j0+49)E0+=x%#1_D;sKu#W>~5HZV6AnZfC`v#unnm=hLTtGWz+21|p)uV+0= zDOyrLYI2^g8m3wtm-=pf^6N4ebLJbV%x`J8yd1!3Avqgg6|ar z=EM0KdG6a2L4YK~_kgr6w5OA;dvw0WPFhMF7`I5vD}#giMbMzRotEs&-q z^ji&t1A?l%UJezWv?>ijh|$1^UCJYXJwLX#IH}_1K@sAR!*q@j(({4#DfT|nj}p7M zFBU=FwOSI=xng>2lYo5*J9K3yZPwv(=7kbl8Xv0biOba>vik>6!sfwnH(pglq1mD-GrQi8H*AmfY*J7&;hny2F zupR}4@kzq+K*BE%5$iX5nQzayWTCLJ^xTam-EEIH-L2;huPSy;32KLb>>4 z#l$W^Sx7Q5j+Sy*E;1eSQQuHHWOT;1#LjoYpL!-{7W3SP4*MXf z<~>V7^&sY|9XSw`B<^9fTGQLPEtj=;<#x^=;O9f2{oR+{Ef^oZ z@N>P$>mypv%_#=lBSIr_5sn zBF-F_WgYS81vyW6$M;D_PoE&%OkNV1&-q+qgg~`A7s}>S`}cn#E$2m z%aeUXwNA(^3tP=;y5%pk#5Yz&H#AD`Jph-xjvZm_3KZ|J>_NR@croB^RUT~K;Exu5%wC}1D4nov3+@b8 zKyU5jYuQ*ZpTK23xXzpN51kB+r*ktnQJ7kee-gP+Ij0J_#rFTS4Gux;pkVB;n(c=6 zMks#)ZuXUcnN>UKDJ-IP-u2de1-AKdHxRZDUGkp)0Q#U$EPKlSLQSlnq)OsCour)+ zIXh@3d!ImInH7VrmR>p8p4%n;Tf6l2jx1qjJu>e3kf5aTzU)&910nXa-g0xn$tFa& z2qZ7UAl*@5o=PAh`6L${6S-0?pe3thPB4pahffb$#nL8ncN(Nyos`}r{%{g64Ji^= zK8BIywT0-g4VrhTt}n~Y;3?FGL74h?EG*QfQy0A8u>BtXuI{C-BYu*$o^}U1)z;8d zVN(ssw?oCbebREPD~I$-t7}`_5{{<0d10So7Pc2%EREdpMWIJI&$|rq<0!LL+BQM4 zn7)cq=qy|8YzdO(?NOsVRk{rW)@e7g^S~r^SCawzq3kj#u(5@C!PKCK0cCy zT@Tey2IeDYafA2~1{gyvaIT^a-Yo9kx!W#P-k6DfasKEgFji`hkzrmJ#JU^Yb%Nc~ zc)+cIfTBA#N0moyxZ~K!`^<>*Nzv-cjOKR(kUa4AkAG#vtWpaD=!Ku&;(D#(>$&~B zI?V}e8@p%s(G|8L+B)&xE<({g^M`#TwqdB=+oP|5pF3Z8u>VA!=w6k)zc6w2=?Q2` zYCjX|)fRKI1gNj{-8ymwDOI5Mx8oNp2JJHG3dGJGg!vK>$ji?n>5qG)`6lEfc&0uV z)te%G&Q1rN;+7EPr-n8LpNz6C6N0*v{_iIbta7OTukSY zt5r@sO!)rjh0aAmShx zd3=DJ3c(pJXGXzIh?#RR_*krI1q)H$FJ#dwIvz);mn;w6Rlw+>LEq4CN6pP4AI;!Y zk-sQ?O=i1Mp5lZX3yka>p+XCraM+a!1)`F`h^cG>0)f0OApGe(^cz-WoOno-Y(EeB zVBy3=Yj}ak7OBj~V259{&B`~tbJCxeVy@OEE|ke4O2=TwIvf-=;Xt_l)y`wuQ-9#D z(xD-!k+2KQzr`l$7dLvWf*$c8=#(`40h6d$m6%!SB1JzK+tYQihGQEwR*-!cM>#LD>x_J*w(LZbcvHW@LTjM?RSN z0@Z*4$Bw~Ki3W|JRI-r3aMSepJNv;mo|5yDfqNLHQ55&A>H5>_V9<_R!Ip`7^ylX=D<5 zr40z>BKiC@4{wSUswebDlvprK4SK2!)w4KkfX~jY9!W|xUKGTVn}g@0fG94sSJGV- z9@a~d2gf5s>8XT@`If?Oway5SNZS!L5=jpB8mceuf2Nd%aK2Zt|2FVcg8~7O{VPgI z#?H*_Kl!9!B}MrK1=O!Aw&faUBluA0v#gWVlAmZt;QN7KC<$;;%p`lmn@d(yu9scs zVjomrund9+p!|LWCOoZ`ur5QXPFJtfr_b5%&Ajig2dI6}s&Fy~t^j}()~4WEpAPL= zTj^d;OoZTUf?weuf2m?|R-7 z*C4M6ZhWF(F@2}nsp85rOqt+!+uZz3$ReX#{MP5-r6b`ztXDWl$_mcjFn*{sEx7f*O(ck+ou8_?~a_2Ztsq6qB|SPw26k!tLk{Q~Rz z$(8F1B;zK-#>AmmDC7;;_!;g&CU7a?qiIT=6Ts0cbUNMT6yPRH9~g zS%x{(kxYd=D&GKCkx;N21sU;OI8@4vLg2}L>Lb{Qv`B*O0*j>yJd#`R5ypf^lp<7V zCc|+>fYgvG`ROo>HK+FAqlDm81MS>&?n2E-(;N7}oF>3T9}4^PhY=Gm`9i(DPpuS- zq)>2qz!TmZ6q8;&M?@B;p1uG6RM_Y8zyId{-~XQD_}bXL{Jp7w`)~IR{l5a2?7!Vg zp!OfP4E$Ty_-K3VY!wdGj%2RL%QPHTL)uKfO5Am5<$`5 zHCBtvI~7q-ochU`=NJF*pPx@^IhAk&ZEA>w$%oPGc-}6~ywV~3-0{>*sb=|ruD{y$ ze%@-m`u28vKDaf*_rmN`tzQT>&2ltg-lofR8~c;p;E@`zK!1lkgi?JR0 z+<61+rEupp7F=mB=Ch?HwEjuQm}1KOh=o@ zMbI}0J>5}!koi&v9?!B?4FJR88jvyXR_v{YDm}C)lp@2G2{a{~6V5CwSrp6vHQsfb-U<{SSrQ zhjRbS;qlDTA&TQ2#?M(4xsRXFZ^;3A+_yLw>o-9GJ5sgsauB`LnB-hGo9sJ~tJ`Q>=X7sVmg<=Fcv=JDe*DjP-SK-0mJ7)>I zaLDLOU*I}4@cro&?@C`hH3tiXmN`!(&>@S2bFyAvI&axlSgd=!4IOi#+W;sS>lQ28 zd}q&dew9=x;5l0kK@1y9JgKWMv9!I`*C;((P>8C@JJRGwP5EL;JAPHi5fI|4MqlLU z^4D!~w+OIklt7dx3^!m6Be{Lp55j{5gSGgJz=hlNd@tt_I>UG(GP5s^O{jFU;m~l0 zfd`QdE~0Ym=6+XN*P`i0ogbgAJVjD9#%eBYJGIbDZ4s(f-KRE_>8D1Dv*kgO1~NSn zigx8f+VcA_xS)V-O^qrs&N9(}L!_3HAcegFfzVAntKxmhgOtsb4k6qHOpGWq6Q0RS zZO=EomYL%;nKgmFqxD<68tSGFOEM^u0M(;;2m1#4GvSsz2$jawEJDNWrrCrbO<}g~ zkM6516erswSi_yWuyR}}+h!VY?-F!&Y5Z!Z`tkJz&`8AyQ=-mEXxkQ%abc`V1s>DE zLXd7!Q6C)`7#dmZ4Lm?>CTlyTOslb(wZbi|6|Pl5fFq3y^VIzE4DALm=q$pK>-WM> z@ETsJj5=7=*4 z#Q8(b#+V=~6Gxl?$xq|?@_yQJ2+hAYmuTj0F76c(B8K%;DPhGGWr)cY>SQS>s7%O- zr6Ml8h`}klA=1&wvbFMqk}6fml`4A%G=o@K@8LHifs$)}wD?ix~Id@9-`;?+I7 zOhQN(D)j=^%EHN16(Z3@mMRM5=V)_z(6y^1b?@Bn6m>LUW7}?nupv*6MUVPSjf!Ym zMPo5YoD~t(`-c9w)tV%RX*mYjAn;5MIsD?0L&NQ#IY`9k5}Fr#5{CeTr)O|C2fRhY z4zq(ltHY2X)P*f?yM#RY75m8c<%{Y?5feq6xvdMWrNuqnR%(o(uo8i|36NaN<#FnT ze-_O*q0DXqR>^*1sAnsz$Ueqe5*AD@Htx?pWR*RP=0#!NjnaE-Gq3oUM~Kc9MO+o6 z7qc6wsBxp7GXx+hwEunnebz!|CX&`z{>loyCFSF-zg za}zec;B1H7rhGMDfn+t9n*wt|C_0-MM~XO*wx7-`@9~-%t?IegrHM(6oVSG^u?q`T zO<+YuVbO2fonR-MCa6@aND4dBy^~awRZcp!&=v+#kH@4jYvxt=)zsHV0;47XjlvDC8M1hSV zm!GB(KGLwSd{F-?dmMAe%W0oxkgDv8ivbs__S{*1U}yQ=tsqHJYI9)jduSKr<63$> zp;a-B^6Hg3OLUPi1UwHnptVSH=_Km$SXrCM2w8P z%F#Boi&CcZ5vAGjR1axw&YNh~Q%)VDYUDZ6f^0;>W7_sZr&QvRWc2v~p^PqkA%m=S zCwFUg2bNM(DaY>=TLmOLaDW&uH;Za?8BAwQo4+Xy4KXX;Z}@D5+}m)U#o?3UF}+(@jr$M4ja*`Y9gy~Y`0 z6Aex1*3ng@2er)@{%E9a3A;cts9cAor=RWt7ege)z=$O3$d5CX&hORZ3htL>jj5qT zW#KGQ;AZ|YbS0fvG~Y)CvVwXnBLJkSps7d~v;cj$D3w=rB9Tx>a&4>(x00yz!o*SOd*M!yIwx;NgqW?(ysFv8XLxs6Lrh8-F`3FO$}V{Avztc4qmZ zoz&YQR`*wWy_^&k-ifJ&N8Qh=E-fH6e}-}0C{h~hYS6L^lP>=pLOmjN-z4eQL27!6 zIe2E}knE;dxIJ_!>Mt|vXj%uGY=I^8(q<4zJy~Q@_^p@JUNiGPr!oUHfL~dw9t7C4I9$7RnG5p9wBpdw^)PtGwLmaQM=KYe z;Dfw@%nquH^nOI6gjP+K@B~0g1+WROmv1sk1tV@SUr>YvK7mxV3$HR4WeQ2&Y-{q~ z4PAR&mPOEsTbo~mRwg&EJE2Dj?TOZPO_@Z|HZX9-6NA!%Pb3h;G3F5J+30BoT8-PU z_kbx`I>&nWEMtfv(-m>LzC}s6q%VdBUVI_GUv3@^6SMkEBeVjWplD5y58LyJhikp4VLHhyf?n%gk0PBr(PZ3 z+V`qF971_d@rCO8p#7*#L0^v$DH>-qB!gy@ut`3 zy3cQ8*t@@{V7F*ti(u{G4i55*xY9Erw3{JZ8T4QPjo5b{n=&z4P^}wxA;x85^fwmD z6mEq9o;kx<5VneT_c-VUqa|zLe+BFgskp_;A)b>&EDmmP7Gx#nU-T@;O+(&&n7ljK zqK7&yV!`FIJAI+SaA6y=-H=tT`zWvBlaed!3X^_Lucc%Q=kuiG%65@@6IeG}e@`ieesOL} zKHBJBso6u&7gzlrpB%_yy<>TFwDI>}Ec|Gieb4=0fGwY|3YGW2Dq46=a1 zVo`Vi%yz+L9)9hbb%FLTC@-G(lODgJ(f&WmSCK9zV3-IV7XI<{2j}ms_Vmb!os)06 zhVIZPZF)hW--kWTCyDVRd2T&t|P&aDrtO5kzXy<*A+5$k7$>4+y%;% znYN-t#1^#}Z6d+ahj*Gzor+@kBD7@f|IGNR$4U=Y0J2#D2)YSxUCtiC1weJg zLp0Q&JFrt|In8!~1?fY0?=fPyaqPy$iQXJDhHP>N%B42Yck`Qz-OM_~GMuWow)>=Q z0pCCC7d0Z^Ipx29`}P3;?b{dO?7z0e{L|O*Z}nxi>X|RL8XAw$1eOLKd5j@f{RQ~Y zG?7$`hy@s7IoRF2@KA%2ZM6{ru9T5Gj)iDCz};VvlG$WuT+>_wCTS~J6`I9D{nsrU z2;X#OyopBgo778Q>D%_E>rMN~Po~d5H<`8|Zcv}F`xL5~NCVLX4Wkg007HhMgj9Pa z94$km3A+F&LzOJlpeFR*j+Y%M!Qm42ziH~cKM&3b;15s)ycD@3_tL-dk{+xP@J7#o z-)bYa-gd2esfy<&-nrj>1{1^_L>j&(MA1#WNPg3UD?reL*}V{ag{b!uT755x>mfbZ z0PzwF+kx91`qqOn`1>xw@801XAJlH>{`~|pyi6J;3s=cTOfelA&K5HX#gBp6s<|r5 zjSSj+CU*-TulqlnlP`}?)JkJ_7fg){;bRlXf+&^e8CWwFqGY@SZ=%NmLCXpYb+}7* z$4k}%iFUi^kBdeJg^kHt)f~<;Ovlz!9frq20cIj>2eIcG(dh57ry;^E^2T)E_8#;_9iJT>4sdCB_db|zO?Z^*lBN zNCs~f+Jkx%EUgkN2-xFF?B%TMr4#)%wq?-~+Nh;g9=n3tM>i5ZcH&nkVcPXgYRjG@ zf(Y7WN@hGV7o0bjx_2@bthJ`hjXXpfaes_(lWIw!(QK_nkyqj?{j#uFKpNVpV@h?7_WC3~&%)xHR1kKo`Cypj15#%0m z-o0GXem63g^|IltM?eZV=b+Z2e8&Z1%{0;*zmFc62mNqLTy$Y_c|9HiH0l>K z+mAx7DVYoHhXfdCE8Bs@j=t0f*uM++Idd25BgIm`Ad;I_{$mO?W%=JF82blr8rl>yMk6?pM z^tMluJ-ckG_}OkxP91t2o>CQ_O8^VZn$s$M_APWIXBGBq0Lt^YrTD5(Vwe2ta4y#DEYa(W~=eLOy7rD^%Vd$kL27M)MSpwgoP3P{ z!yS$zc|uP{yzaIqCwE!AfYNS;KW|OdP1Q%!LZviA0e^WDsIS5#= z!B{TW)VB)VHg{LoS#W7i6W>*sFz!qr^YS0t2kh90y=Je5{p>8)~D@dLS@QM(F# zIp{6M*#(@?tsu1Rq-Mdq+eV}ibRSpv#976C_5xlI`$#1tN`sK1?)5M+sj=OXG6dNu zV1K{y>!i0&9w8O{a>`IA#mo(3a zf*+Q=&HW7&(nX8~C1tiHZj%>;asBEp$p_Q!@Y0T8R~OuPEy3Lq@^t$8=~(FhPVmJJ z#VF8`(fNzK-b%Iin7|cxWP0xr*M&zoz|fCx@=Y!-0j_~cuxsDHHpmSo)qOalZ$bRl z2F$j0k3llJ$>28HH3l_W(KjF^!@LwtLej_b9;i;{ku2x+&WA@jKTO0ad71@_Yta!{ z2oqhO4zaU433LK371>E{bZ?+3kLZ9WQ2+3PTZAP90%P13Yy3lr3mhmy|>eN6(SHs1C%Q39p)YsUr7(kuaoIJGJhXV-PyG zjnxhcAC;fqY@6;MWWBnRK6ocG`%T&0&*k95#yK7DFtZV?;cy;!RD_*YJjsb6Q`$;K zy)&X{P`*5xEgjTQ9r=oh0|>Z_yeFm?ev!p z7q;JA4mtu@qa39v%6i)Z4%qwdxcHuOMO;a1wFMP_290FqH1OsmCG{ zq^afYrz2BQyQ0*JGE}1h!W9fKgk$b!)|!%q(1x?5=}PpmZQ$e;2EB*k4%+&+u;(E* z2n@=9HsqMv;4>Nn^2v&@4T-YTkd`TdWU^U*;sA5|r7TjZGnLY*xC=_K-GmDfkWEGC z;oN&!c1xB-<4J7=9 zJ(BedZwZhG4|64<=wvCn4)}w%Zx_TEs6ehmjVG&p5pi46r zg=3-3Q~;v55KR&8CfG;`Lv6NsXB}RqPVyNeKAfj9=Ol>fQlEUl2cH7=mPV!68+;jgtKvo5F#8&9m? z``w+#S5UR=QHFGM~noocC zVFa#v2%oo{%;wi~_~R2ci}`=B|0@ zinDfNxV3%iHIS(7{h_WEXqu!v~`CMH+7^SkvLe_3i}=pyDRah zN#L)F-`JLj6BiG}sj*WBmrdZuVVEo86Z<6VB}s)T$ZcWvG?i0cqI}WhUq2Y#{f~x# zi1LjxSZCwiKX}*ETGVzZ157=jydo*xC^}mJ<+)!DDCd4sx?VM%Y;&CTpw5;M*ihZ| zJ!FBJj0&j&-oJs?9a_I$;jzd%7|pdsQ3m`bPBe$nLoV1!YV8?Pw~0D zmSD-5Ue60>L$Rw;yk{_2d~v@CnvZa%!7{{7lb$kxWx!pzyh;6G~RbN5+|mFTbxcxf!XyfbLI^zMQSb6P~xzESXmV{9 zCMp)baZSz%)j&JWkc|Gq;_*$K@zQ%tH^91X2|Byv>=SmWR$7-shf|_^>Ll;*9+c(e z{N%43;&e8}_QGW+zE0m0myb-@QU%=Qo>``5UzB(lH0sK=E``{ZBl2Ni^-QtDp0ME1 zK88E-db_XBZQaU}cuvkCgH7crju~9eE-Y`os~0P-J=s;aS#wil$HGdK;Ut?dSO71ssyrdm{QRpMAV2nXslvlIE#+Oh>l7y_~?;}F!;ENCR zO+IG#NWIRI`FLntsz^FldCkky2f!d-%Pij9iLKr>IfCK);=}}?(NL%#4PfE(4kPQN zSC%BpZJ*P+PO5mHw0Wd%!zJsn&4g<$n#_?(=)JnoR2DK(mCPHp6e6VdV>?E5KCUF@ zf7W9wm%G#Wfm*NxTWIcJX-qtR=~NFxz4PSmDVAU8(B2wIm#IdHae-F{3jKQFiX?8NlKEhXR2Z|JCUd@HMnNVwqF~V9YJtD+T zQlOroDX-mg2% zBKV^Q5m5ECK{nWjJ7FHOSUi*a-C_?S_yo~G5HuRZH6R``^dS3Bh6u!nD`kFbxYThD zw~2%zL4tHA26rcdln4^=A(C+f9hLlcuMCv{8`u;?uoEVbU=YVNkBP#s3KnM@Oi)fQ zt_F3VjY)zASub%Q{Y?XgzlD3M5#gUBUuhW;$>uBSJH9UBfBtug*S|-;h?|L#^Z&uE zB&)spqM89dWg9ZrXi#F{KtL@r9g^xeR8J+$EhL~2u@cf`dS{8GUC76JP0hHtCKRg0 zt*rVyl&jaJAez;!fb!yX^+So4-8XMNpP@d3H*eF%t_?I|zN^1Iu5aGBXSm+}eCqn3 z^+vzcM*J>wV-FJRrx@^5;l>h0{OYT)lg{dr8!{s7(i{5T|3bivDoTonV1yo1@nVPR zXxEgGg^x5KHgp?=$xBwm_cKHeDurCgO>$B$GSO`Cd<~J8@>ni>Z-Ef!3+ck(MHVy@ z@#<*kCOb5S$V+Fvc@{Qv$oLfnOAG&YO5z_E2j6E z7a+c(>-`H)>g+6DeY1Y*ag-B6>Cl@@VhkZY@Uihe!{LlRpuTsmIsN4;+UDsHd954n9WZV6qq*{qZ5j<W)`UorOmXtVnLo3T{t#h3q^fooqQ~A+EY<$TDG4RKP*cK0liX95STt= zToC<2M2*(H1tZ)0s|v~iSAa^F-9jMwCy4cK0HM*3$@1Q`Pz}FFYm`PGP0wuamWrt*ehz3(|Fn%;0;K4}!Q~cx{0U0L=cs6lcrY^Y%Vf_rXpQIw~DfxB-72tZU6gdK8C~ea6(2P@kGH}!2N?>r(Ca{ zsI!6B!alPl%j1CHq97PTVRng$!~?s2{+6ffC#;X2z(Xb#9GsSYYe@9zY~7Dc7Hfgh z5Tq!})o30pA3ywg<9W3NpvUs;E%Cehz=s?EfLzcV0H?b{=q?vJCih2y%dhls6w3j$ zk9LB0L&(15mtul3T^QSK7KIZVTod#Sc)?1gzY~M=?ay87V}6G?F>~AIv()-N zD3rHX`;r;L{9N|Z8REN}OZB&SZ|5a80B%dQd-CNESP7HnuNn43T~Agcl1YOF@#W03 z1b*t!>t5G@XwVygHYczDIC|RdMB+ z$s5_5_W-EXN-u_5Pb{((!+8xa+?@_#dwtYHeJ_49Dql%3Fv0yXeV?!cC&Iqx@s~P%$X6%1 zYzS9pqaUv&aBQqO zBQs7d63FZIL1B&<8^oni%CZOdf6&;^oNqQ-9j-NBuQ^|9baQuZ^Jtyt&?cHq$Q9JE z5D>QY1?MU7%VVbvjysl~-a&ImiE(uFwHo{!kp;Jd`OLE!^4k8ID{`e-&>2uB7XB~= z+nIQGZ8-Sbfa}OrVPL}!mdieCrs3Nq8Ic_lpTKMIJ{h>XS$C3`h~ z?p2AbK~%t$t(NcOq5ZB3V|`a0io8A))v_PMt)Hg3x+07RL>i zGUq@t&+VV`kj55_snp?)Y@0rKZr`riC`9Q(B1P^nxffV9AvBLPrE<8D>ZP{HCDY@JIvYcYNRz8 z0Rf+Q0riSU@KaVpK)0M{2}Wuh!o~t*6>)EZSCQD{=}N4Oxjo1KO-MNpPYuPABh}E|rM!=TSl^F%NV^dg+>WNGi@Q5C z%JGsP#em`4LxDdIzA@VF&`2bLDv%J)(7vedDiXDqx{y6$Y0o~j*nVY73pINPCY?9y z$Rd&^64MN)Pkxr-CuZ+WqAJx6vuIAwmjkN{aPkrJ0I4F5-Bl}$hRzhRhZ^xN&Oe5$ za4Wrh6PyFfDG+Nzd8NTp2})j>pGtyejb&;NkU3C5-_H;{?>xK1QQ9S`xaHoMgee=2 zEbEh+*I!ggW@{T{qENlruZT)ODp~ZXHBc_Ngqu{jyC#qjyYGAQsO8VT^lts$z0HP+ z2xs^QjUwWuiEh863(PqO4BAosmhaK`pEI{-geBD9UuIn8ugOt-|6S(xkBLeGhW~)< z8aWBs0)bzOnY4wC$yW{M@&(iTe{8zhDnKP<1yr9J8akUK)1svAuxC)}x-<>S!9(?F zcA?{_C?@ZV2Aei`n#l(9zu`WS-hJsAXWt(SGp4(xg7~3*c5@odW;kXXbGuLOFMj{d z{gx81mQREmRAUHhfp#zoWh>z}GuS|raw1R#en%9R3hSR`qGglQhaq>#K!M%tooG;? zzjo}>sL7a3M5jW*s8R;#Y8b(l;%*I$@YH9)YzWR!T6WLI{$8ScBvw+5&()>NhPzd! z{>P(yk8{(G&2ovV^|#1HbcVMvXU&;0pk&6CxBTvBAB>#tK~qALsH`Ad1P0tAKWHv+BR8Fv4!`+>Obu1UX^Ov zmOpuS@Ui|NK4k-)TbG?+9T$)rkvq+?=0RDa=xdmY#JHLastjqPXdDbShqW>7NrHZ7 z7(9(HjM1-Ef(^`%3TlhySDJ27vQ?H`xr9VOM%0ANsA|A3-jj|r`KAo%oTajX3>^E` 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 YM{}PByk10KD_nuQ4E7Du?}+~TKh4V)`~Uy| literal 50709 zcmbTd18}8Xvo<`jZBK0OWRgrYv2An5wllG9+qRR5ZDV5F#y8J<-h==A-+Ai1->zC! zch!A&uhqSJ_i9{AP7(|p{R=cS^p`JRi2scL{K5QrlonRvrx%wIVFddkCkge}H(x;i z`Gws7NQnMl38ndE#6^S^l^CQ&5~KNHdzp}hAAQ$}vBXSKave>y8^1zhHlxN-BU;5X zMPk_4Xv*hSts{IQU0x%t>VpX;nB;(TjtQ5cPLA?APWy*{m&vVQc8&?xiQd}FbcFuF zCrc!d*JR$e5;cw?nqy-}#<$}b<}#pe*T*or!`!DWsK?0#!L*$7EO}l*slKX}qblE= z7E{mT8>NTk-f5KQDAHM=qSBPPWK7dqpx*XSwPgDM{+FcTf({2If8?MA`SM5d|4Bti z|5Z{eeP^KczoaOf|3A5z4TGb;g}%Mnzr=|0?->1KUGy&Y`nI+}`+tco+y9=et&J6f zt-Z~k863@k4z!Z=G?U{~^=#9C1;Bv><0vEjl~nD-_!6!7xD4Iso&+7uh?Jxh0|@K^ zMN;9xaS|3eCVBy;9mqed?3SHC`1_x!Isc6RS@+<7-rCrk{7VAC{gX!DR^QMR_%D&7 z{C`RR-!}WN_5O42e`D~!*%grg_P+%D-&XSPj09|K93340?6tJMnYE&$zP%&Rp25&k z-@zeKWyBdx6umPr2s1Ag9CA;O)ZkYfl#?wqNO($*?^hB$Lx27hc=}Sy#@M#Ri?~_< zWsIB7zEP@jlRoKd09xHt^d4hehk2u=c#?xm!%>;LveRaJ^+ow?w$JAS`Y-Xf96h|g z8X%*oyYLiNtIA?>ODRvyy+q*JD)|^{R8CKTbqYYB8KN2E3Fm?CM6yj~b^_wu-8%LV zLhvd>AJ-tF2TOLG=Or;rt^C7}p zo)sUG{ir08^%O8Cy%VZ++1to zMFAi5PSa-lvp1W4TtK8c4L!z7x*5lP*Q%sa5F!{Gv5g`g?tIbFxTAneW^fjcCGKpp`t!_xFPI|#>^~D)NVjCeZ84xP}2Z& z&exvl#-4U+UJQS1k{dX!@d^&VQ&Tk>jGQNoia^DRAVJ!*u#*DzJV4X zY!{sdw9`;?1POTDoj9r?i>x2Ri87@+^)=A^#{M_h7z0Lz(FmGIT`sctvtL+vi%=*P zN=o>sEq9lCMtWQ->^4xLg!a{FhQ@(9ik3#FM;Vo*@ZMmuRzkU_*iqiH_}n+h4gm+E zy2+^8JBfyZX{5$Kjv1(_q+k%ZEfxIhgG*@&y%+u2R7PZjwc@6)QgP&~A(pL!8q*_i{7e@hQ(vu2FZ zYig%yks#4qUPxmLis3rm5Q+7K(iR11uJci2Ei>^bU;IvhQuPj65z~2GG}Gspc8{)B z!gYE6a9(x*Gc3TeKbo2$XTXqGt_^^y6M+{MQ(;MSHKM11#)RwD^8>*5~c2n&ky{Tbl)@BQo zKRBHdgwAG(h}K+CAU4(@QORS4CPWh^OpiH4wOEI(wZJMi3_4ba>!1H-uMC57%6D-` z2`tGje*)Ewb3UL?-!Y$)f$DUgo^*%c?q8~#?OO3m^~^d%a1+?ZDK|fS#&AJCzpJCz zcg8PFo`!n9m5<(Vc%fmPEdkC$LaLy+OJ!O?&#@ojw%7W1nR|gWa+Q*!7_wKc3VQKH zK1g6Y2RMsynCO{eyi#Ou=`DV8<*9GlB23NOIvOLqv%y#Iw90?tW<|ePaNymG>XdE2 znSN#ARqESkE3gr*;_KNyliM4lG3HieMNTCz;ZoP#V_3O}gv{p`fz(}O7u#jG;dAC3 z$q}VyjhXg4%Dr;83(4BhIe8=&sos`%7kOa{GHmfh8_p*pcR!Ufw}NjGs$Qga6$082 zIxx6F!BL?ee;s8iIV3HhrrY5y+(Ms3Q%FTkpsc2#(@?&iRmt`UKWG}^Bi5PpDX@uI zZ6M>quGOw1;lg!wU%kY8g_tqTF){M9ufumM4tn$!&^uZZFE+i6sPKs{qUFx4`sLWk-7FbBzp?$QQZjm*3+wpR2js7~ zV0QU!Pyph~7d_bjdN%!c7tQi_E?Nj^tnXy$C}iVeZE2%#1hgk({-=jlw30>RNA^xy zB+Lk&HxGY;lo)8zi^lENpDr5cFMtrhFnH2SayFaNa!K!`5AZ1@LeCH7`$YuI=v4Cm zL84{vQ139sJ!NG4a9C}__eJSyz6ZN6ZdN-R$+eyGjh7F3mT%sZ33;_T+=~}pTAN^0 z?mBAvIn19-@B)l)s|$Uw8c|wS46UJ6K8+aY&Yz%5F*!IOu1a<3_7$vtbPJ0iUTxi2 zY*9&6>gRS@Fs)dtnBJ_vzXg1#AA}SeDD`6SJ5TQBRi_-25pLN;pH&r@2O&g!lVi{g z`Q0rBjaL!vI7M`xU?CS}8w%A3lP=Y_kERpP=`er%zB3=W-If8Sm35s>x6h`=rbZpB zs@9gscEk&&g5ABCv8v7QVG&0jEy1tz$eO7tN^P75YE-N;TM>vxE`_e&Sfg6`B+?gD zEKCf`FLsD;5Dz|;!?p~NvPnBN>+9__%}dsH zl=UcMxaPL%r1N2_Mx0AXBrIU(6bYb!L9+vgd-^L?eU6$V?>SuaJ9il!OA4^saHWqV zz4-Kseiu-Z#pfci>>}0vc44wHj}epKc9Jmp;yHsJsRyNErBNW&gwrapUKy%L1vkm8 zw+=$KAu`Xp&s>Z)fkoX06adKsI70m0>mfxWM%fsks1Zzp!8}Ql!3pKn@pnyT%-y4B zgug6~?MyHa^-s{f5B7H!r}(c~oT8h9BhX6jKLWNtPp)qKPL8HPYezFfeMg&r1`U-7 z+BT^C=s}xc4U)~vBs6N>8n62dH03&}dQ#Alp)jk1G@-`}=pt(M<1s6_!_h3I>`gQM zL|f4;lV4~W$q1-dC>&g4Bm`e~%sn|v^ z7;wHCn3oJANnhonhW}V-F7qTn4Q-L7``TW8%nyW0h8Z&vDzpo%nOh2A;Y^K^0#ZyAG`e^{^#H$&Sl_YQ#UKTF-`}Lb-RddIe|g50#LvN1q~6+)i_L}_?p$(Y3aue zkIT-Z$1EfDCJb1Zna=BOAMel4jj7@fk0<#rRyz>5G~j9YF0AGqddj*k*7 zWTe!r9fR2nj1@N!O=vRh$Mwe+w$MsC$1_;-sR2B=zu6p96Yp4+U^47283uMi+1d@; zC&Qfvc3+#b`KDcRe;#3Sc(=z-x*D(Iu_~&UqpouGfetw#o~^H7tPx#qtSQ4-R$y@W zz9~4*-dR%qHi^;%?a6Y}-pR5k7UgPD6ZmG@isKDlHrX`St;j&Fru1lGywhUo<(iEz?L}H1dg1aY`P8Xk%@Q=2QHXjimd* ziU!qb5!5Ury-G4Ibuuk6L4e0u!$L9vQQf+?16AR;W1O-1w4)U#Bi%~}GZ!iHvD?G; z>2$3xGxlvq=psz%#*aaJu;maD1OzxxyzEKW#TH)*Rsec_lBmV-Y&s@KV+0spGJ}~Z z%8}PYTjf+Z-EeK?xWOmqJgZ+x#K0|t0m4+zg-K633epy9M((zwuRBnB^(GI_6h0$V z8q_ypA47=g0>Xxlm_m@i1ZBO`-^=3xslVO8Yt6mgv0;k-d;>H3@{i_nw=G4kIkD$3 ze?U#fdUL3LebM@pW>g|!9e`R$CJ==C6}z7He!K z{d$?flD8B`um`BGjtbI%rR&jd+ZGfl(INsA|eI<&NxM z(E3=S8obr}3=W}ci1O`SBAkr9n-hHV+Tf`Xk{OjUc?p9X;(yB4w-u=uCT^EwtuS>j z5qojzZ^70`EzQMd8V|}aR7pnyQR)*?m85&Cr< zzwe&4ON#@c1BD&gMzQJ~1y!T3Yx2U{?L^u&JcxY?xG9i`(1F1&&oDG@$~VR8eA=S^ zUNFa8h&fZ7`;?bfN zp9$C5wx2pHNTWY&rArwpZ8Bsy8i3{sh#aNcxG(}51K_btU42UL+a=7Se?cLvM+-{j zLQtKm*r_!`R|AP3^rcTedP73Ywh&agr0!Ta4f-!iyO}EV1b* zqWZm5M^<*r0Wz!i&`rWvG7ZGqO$8~$?-%08PB>&2nPHxXjCVX6iMqnVoh9+sP2&R_ znC=jJ%kUR#+0>hFC7N>P^CZvSaGNt%R-o21Nxqjm9?xmH2Rwnz7N*q6S*<1uNU&R` zKxBo=%uxuCH)y_@E5qKrGiETpfhlNKoC&`?ypL#$o3hg<2!bE?H!{wJ)ZHvs7Hk`lHi(+9ikq4Y|)0ePIs-@bea0X6qzB+aD1>MNl2#=6gCU44p zx(5thED;EA2tJe~XLkh-oRU3BEN1o9QWW&sv)8f|mp?uylj@DqKGuHuTy1)uaTW7~ zGgLAj&U$5jAA{|+Km2j(d#!XDlSyd(Ti?BiokzcRnHfgi!?EYXbOjvA&25eAIl#7< zt>>HRJ@*pqJ!1y zNZU3Xq=zP0p2E>MkNm{Pc`8@h2lG;D9KFB$wDN?L0d2G|5Y&xO-9b#l%QAv#_ZB%N zf8j>aMc+jw1Pg?8X>xtvIn{bJNr_gXB#h9=-5Pxip;jO%friGYkP=6)b{4r@C`5o_ zpS;e(NS;dpk_sZYCIb4wR5ldt*~nt~L+akRnqvgn0@xWFIrXO98$Q7>pVn}~dk@oQ zHEI{^RGZaLBa3~YAKb#(c=dJH@8pNmj9dw8W&G}KxHRj)NP~oTTL@D*C$)9c0lPFi zXA#^3x5YQ3JUo`|AcR!JdtJj3x$lRpf*A~xIo%@oF6(!g`^u@Hww5mPXi29AkN7d* z{-X_kxdWBJTg}^vrudP^!v&clM>{-v;(8AGjE0-)j~8-jiE<;cOQ-s-cGy&w$ffsB zOhigRA?@=N5|N6a|D+vTwgZMIY~`RGxdRygO0NTc0s?n;U3&EZ%LgQ9y}07Y~_@c`NQ=0eGiO#*1PET)x_6E03hlzRrh(+}JM$Wz-ecl9bI zgFsyI9*j2+5*76R3#AjVG5=E&yA%0&e10-wU`dVTZqq+XoH2bO&{40V@#{R`@M&fGNC18W%P*Yme4@8|6ZEMznS=z`#aT{ zeh*G2umQhFunWJ+@{w^(?X_m3O4SB&-CxX0PxyY};NXXs9;XhQ&ilcdJYI)6X0^P7 zg+mT`fofIBlcfoNT)j?QZE!?Kc?kyhuY|?)&QQz!n-|hg|3k9 zGe+hBbf0=HA2tzN1d$c+h;0#rHwvvN&DK}M0z1m3%k390Ex!JHsMZf;e2nN*8PwH z-HG4VCAsgWn;x$;Ba?5HyyvA$y0I=vmta>4l7v2aAv)8QHUP|NX(m^`T}hOoU0cB+ zeo*!)tq|^4vFhBIFy432Sz_SPlUr!g^nfQN#O#S}xQKUdR@pq7oS!sCRO9(&@!%Wi zw~n~!%SsZ-toyAe>0fNQ~tpe%~d&9T3b2-SYPz zSz4)Xf7P%fXhP<}LP24EDEm_>nP+Dau~Co-jg2e9$h4Q^{P{?xLl3&cVXqxX--|pn zM_tJwJa4;4I;6YP zxLzcPjfM6EXL>mm1#Lg8q|)BP3&2gHZzzpWZ%&I+Mqm595)JR^xEu}d+3ay4ROI=7Db)D6 zvJ8#>rhFmPw6Y4czwiD!pqex5D){YMNV$Y2Yg#~qJ6CikbhQlgqegDPM0l-(?KEMX zi~95T{5iu0q)R==y5RdI`OZe4$5AJ_FAlBRfv7@8DX8I=L9MvDN-#*Rx_T32=MG(z zXTdqDCdW?K@m5};ELW6P+QSE$;qaPo#-~t)pzdrxbWe{Wwh_;3Q z^2HeY@3I-{zs+X;qlEKsX^e1G4`R;`jFHl$v-zGarV#UY;Ud<^RN`D(G zpRV9@{|rXe3=pRP_Q8uC~B7ojm1R5 z1y4r;8H7m|_$wZmp>T3hyio*vT0CFF0JYkTZ_!~5DWWj1`2;=b+F&yEV&(PW6uFO| zj}CN=GgxT0Zo)@zq!E&BGGCSCF;|4x<|~~m?awTiAI^06Pa*zF>H_Q@QEUDPx%+4Q z&q*EC->E^|+QCuZ((>OM4Vh|gdieWJpFC!T>Xn1Z5tiY7bb~j!-G#T@Fa0` zbdm;EhJeMWy+#+8Bp$jEt!=5V0i0VFpuvJ=Vvfn$OEw8O^)Ej!d9&8Yt zueCim+pO9(=9C%wby4CV2?sC27+cyUn6R#x1S&RRVR$CSW5Sci!T7Qt!Hf1qVW7`D zXUI1$(!~;}Rx#7I`Y4jr{5hAF`&6LC&ymFv*=}} zA9B%^DU1!OavWD~x?rKpq@UzU%bzKv#*xQQpoPz?l#H?oHuYnD+oo`8dc9P*3#L|* zv-UoawHuzsHTDEW);z)N)+AOd@5;AEvki594)_cK*tik{l}5v%Rhn6$y2ECxxUg%Z zRaQp7qK zRp##Fk!)lFd*N&Ay8HVJO)2sP(~8z0DUXxHKaZU>1IJiblL4c1sdI-A+SJk#u7RNl zEpdo)m!hec2qybKE3!^ImdTcx$V*a#gU0*P1`h@kg{yJbRS{kVW(NCmQ_5-wglJdQ zT*WC#f7njenORx%0(EK{R2x_fz{I(Z7$X|8`QZmLP5YxL-h=BxPan5&9kHJhwt4{v zy1@WeqakU>vNi79qnzEoZ(0^P>AcTs>J|oE?rJhp)Y7l6rn(Zk0A+hjpyJPsQw+Ls zb682?J&rY$;C-)a{HhPvc@en?pUWa2Ba5^9i`{dosi&7&l9OTbKI1PQuH?F{W`z zYG5wduidzR@akV&6Qqawuw;*u$_A!?7i+9SMWWu|9XF!in28jX@64o^Hs?I+ zx=q5UGo9+9Oc%B5|7AFDby5|Y@0!s_)F>JkzfGxWspFZ-Q>@HWU4Z$=&8Q5*6+Y3`1*L0Ax`c@HoIPZdyS~6pKN%d6)Ka^Rn;lYp&B5~%=_EfH6_vh&GV|q?r zq)2-4kIK9f%`EWw6-rSlH*X^>dJ7qRCY0Z8MV17jcfyVx2KoLF!WIJ`{h}((Q6$f` z(k#^x#H#2#9V$xq@^EA3K3-LSX0_Q5#J!ED&>7-Lr_HRis`5%REuGt7y~dP*!6Z8~ zS_|QckuVoMYTAvJBgr-FXBA&B2K653uihbO<3ssw*)HAjJKP1LeQK|!A{*5)csJUU z#Ri2B5|&tD`i_}7@mRG)!zN>zt-hrRA~9BQX8YWEe8f^yIMX-2M@Aq_c^c&?|H|kI zy}{G|iNYsYpU~Ar2ItNmtwlP}b3}|z)*KvA(=!dOeU-w4Lx)|Nb1_9rs4HsNin7Re z-2Y;5j5nN{N6Cub7+1qa+&p~ z{th3;wQ)Ukvzk05ZeBMa<`LyX6L0O43jH#zE7>dH6L1a4ps?7$+OfvLQn6DBcH%{$ zW(#QU=T!VAeQg?x+owX+x)AD7m@#u+8(&eSRrzX&HgG`++W3TUtx%a!%w7x$b>2d- zZf(KG+CM}Kw65mCl_W2%vl3=mD+@Opg-;#HC|rO5&p3c93id<5l_Rb{Mo1MTVoXm8 z_&^pspqb&6%7n>_P!o1YRZURT)TWazlUOLZkwEa*PA`ePk)I^p8h!S=CxSBxU#U_I z#7wi#QzU;skL`rPmnh_EcH9mSf=b zsDzL8h{#FdLtp0|BT%uxPG54YS6k~`NbRDiePc(+HKq`#AWfOYCM<`#HdOVUP1-?` zeLKF>?Sj>9yx!eTXPVjT;5hiF5X(_P19DL$bR;|gGC}W9Jj|<`A==91?)rPRrBM$@ zs0hK1DiB%bN0)keA-&df zGy(CLY^Y#v8@^tc86RzFN#MjxqeHdHjNjykM60&NsPpj*o)fES^pUXZswTY?jSH%F zl{{48RDyTwe+KiymoGMa}TU*Di_5^;Lc500U-RuK}m9C=nF##ZU&9`Oq5wKUH< zQ96iD#WvhO$A=w@E57>7)(^c=kW49BCl)KXHTPCF zvW&hO0iIPV%XvymyqA1-w9r)hd=LE){CV%vHgfcyqr{@#5OjMrcAglV-tw{M_&FC% znp8?=BeEsYI_V1ACCWa7XEJhj>gnGV3?pOI1rBTe!<9wr6xjztfUSO!@R%k$cXS>! z!2Kmb(R!(M%7A+NTBad}pP(G(hF}N4$XluR z_#`tB_hZI$LH52umM|e0!7YS6>bQY@AMOTv1%Ak_HFp@;{;j#$qWLL~+kBW2L%_CS zYueC00Fui5mTrp9W(m!uyrvx^I8XSC!j=H;CCPNhvDXOe>S0i(l(Q9uotos((r&>H zn6q=jn9qlW5+?ZcgJ}XbauWygNeTdn-!F_WCjs)YkORN($?~KG%2;+sO1`B05*qi} zxt<=X{+2mW{Kf2Uy`qhIyj1fVce1qH2jMoVJs7KHi2KcI&jyXACQejU9(-#Gzps@8 z$ySv{WIYj(?jT^JHH!oU-0AD2)i)9+Wax=C1*5giC!xLEN$Eof|t=h{0N# zX!J4Kr^2mE-yyy7A17^$f`OdQPmbn-=7tr&eE$vtlRbvaN=99UjG0SVOoRz-K z-xENm&0g-Rho*$3gkls+W{LF9g{=IN3g%f3TlA&KUA-SmQ7p5<+~tBal-@0cc||0V zeeYEznqfk*@0|B+7?gH+ow~V0mnV;`9?FX*nlvZoG=o>In7WORRApsjQ3fKBmt=(K z_&soKFQC;R2h6PVDU>}%o_J82G}^?na$?dzT-k$(%JNeDKES)gbH~=v@nx&yP{QQ! zw6a$uUzzDPv7oLeX|brzi=Uk*K+b9XmO=uo@ScbAYRnLuOIdZ7mM0XAylfbIL++$m z9ZD8B(#;dv@$&_P{hif>@YldwXM)*s1gBa#k>X6)m>q`3wD0|LIIW%`*wALAm_ERI z5OZB5>~$t+cR7q%!5d3;_i-kQXcu?#IWuFvo#VpUL9J6|a>!ZTpU`Z(4WqM;$O~1l zJ7Vj5D;S6ydix%2i%yhbbVo4Wx~JFA)Uk@OeOlGaZLaZA<&kR5 z{o;hwGh{QLjn}*j+2@x_;?qxwl!WY+SK{(wq3+|WN2K4YucXb~y89AvZo3@b=-7SH zT&aUlQF?5j@8UUyZ-qaJl%K&yzbNSPQgKng4HOH^?^089&CeWO zUul1HOboQwh0!jY6R4jX-{1-vMQZg9H|fbSBpMsvM4HAm+T%PT8HQ?2y0erBCRXg? zF%k+3JKuxS8gy#))K|BZBWNWa0Xf!$oZIE0CbMZ(vtp#HB`h?mj&s7>W@oi;xJS7e zle#!c^SOr^u8^~diXNg{7RSe~hBW|S^+v&K!xDGxx+~`>z`0<@yIgBDd#=PD*Ze#qYfjDhbQ!U3b47s{=zF!U_XzbJYv!d0#uOwE z@5r#Zz)$A!#W1uNq?mYM-t|ME3{-qxvuBFGiX}~{hFmxmOrR(nIOYqY4cqLQS#n|{ z^g<&_MjzATkP`w>GH}JhanclYYPo|Xaz4#UT+~(CmDDNnz6BY>j?{LbPY#+^dCoK-{s$%xq0@6z?XFL zC(58$Zy2-6GRJOg$J|)a4YotTE*)T0B~tETM8oZyxdp+h{-T{?DI&~b ztuIG)li44+y#f6^g(AjdubCMB1pBLCFetE_z4izA8bb7U1q1TGD;P-Gn3()~wIJ{h z=w(h0o5uyuLUr`lwp(CyA6D#t^_etG_*aN9ay^o@q?(L5QT6xX*lyS5&-!$o=%(Zukem z66?6O(zrQAm0_0cHS<3I+bA3<^*1*VVMn^XgBni5c7)l zq{&c-$z5$zJvSoXx_wD7rRjdC#uGg;_r<+uhb)Dj1QX@?wAj(0FO-G0o65JzOKdNR zvhvmGpivSRZF#}w_`l*_Fpujfe7pWad$$1z3o8(JGL(gDd=_eS7$Rwa{hKPW%JsM$ zgi_Ra37tR^T`snZBq&HC)S3Kf`pBqc`Zq4DoM@x*{P<-_*4BwCYZtP@FX^_VP^j^3 zl_09jz&V|873It$Pr=*EB=<#wC}^YIZGSj?@rN&K% z;+4MC0+aJ)MysRqgjr=g6AO3D1f=!93u3XR%#K>t!#OGt@Hn>F4v8Zy&1wE;SA%C8sC<_!xJ)q{(k0aZ|Ut+4JOzS-MEqv?j_BF+{bX(`+ zijSJcN<^EKHBAAQ1^I|T5u?wLYHS?i{pU9uu`-Z&)@%xUd7%DmRh^|R`t;U57im=T^MuIMIQo7Z^ zXlgBMq1Sx?#3jRNm&4pwS*p}Ki+YYUOu(Dwr{Gok#_5sXOzm@PQ!3x3`2nDyRq-sg zJci_S1Puu$t%PgnmP3fXW$)_c7GtG=qrm}3VJ75FVx)5wTbPHdn1B*qnrUuEytGA+z+(dPqqv|3buQW9KnH zghqk%^CZ_o3PqwFFNDfG5&a=Fi0qT2kffTtaX8#LD4Sc^Iu=snh1_%~ z!>kFAKtX!YdUdb_g&R52?3D}{?WdzfUc)V!Iv}Eye}T1#HJ8k}QLXob&?PlUzfoAa zmAynytj$F{X+Ou9qBI##>TVU}-rarNWbI-M_wsg&s>*2_*Z02Oy?hRvXh{lUNxWZ4 z!Y(3Ez9yksGPN+;2y`C{2eQujxxA({++t@+yVXEN&_7H1h8K8cMjuxPZ_ne8chtk&hfgyQ zkiamlnJ42LFW{^&s+E&}Kx>x`#|~qek=UWVfl!-b+;&9=@>$_%wVIL^rfxMz&0}2R z?Bv-rUK;;GjbuGo$pXlxt!b3%p-Q%9;Evw6R59x;V?&XkXyk}&wEF~wXdWxjw45U_ zmgY50-dnpOq2}D~iF6J1^e8>=U6~j@?zVBxBROuWV>G1xGiTs&YC}s*V9}<6wB(5= zlm^)kozg93SGIVydazz-(J^8lXP`YuntxFSq_cFn(z#JNHEAqc0k+w?Si(;`b$gMv z3aacEx}D-MUs0wBqJj>S*Zkc!^FpaG9@gm98XsPc_KYK+@*k!uJj-a{l9B@DDADCF zB^~k0oSE|(wi|(%SQ`w;De~|*u2LMJ2jW@K17 z=R>?biqBoDUVY*1M-Sn+KsS9Q3YyxRW2(QlBc5=V1BV^zlo%Y-Hcld)z#bnn)b_XVSR6KX_*&`vp3p?>WQLDxI0yYq)4OzOdcS9b(Xq`p;$$q z)mur(?R(jJrHxs^&2J$kU6=mE>%GMhP*nrXe4v=V?HGwy?2$!An}pLi2`*_i{2}@j z3dd(`!_Hplm%U>WwYdjBYf~@|jb?ogkMdk?^a1xa8mL?6k`gJ>Q+75n7{uTBkgpc`|e%Ds_HNx;5{3;tl<&bAFdA8D2i`Fz^YPTA- zMRxR~=GP+_T9Mu8v3kg2_bxTohdf=ob`M|i%&hE_gwb2N>QYK11>Z+LG&FySDW!rr zojS{ilq|pKdY&JeaCzBj&_3QmN{8J+HY15(`c~kD;ne=vK|nN5yG=xA38TOxfnt1` z&FR73;+KKYz_1cjhA>huE%FTpdjIBpAS)GA%k8pAexN8ycu_86I$UVK6+=(0n{+Pe z%hXYl`}addMEP2+ugT~`{tU!Mi%yevp4pnVT^j^vut))EYwbuzV*>NgY7ZG(73sxe zLcJka`}xOL_Yr83QoM(kc~Jkl?5F!ZPd z;pX{WB^O*2LrU4D!VRXqJ9D*ETPT`BosyQBSx;dD)Oq|e8E~Y`q@}G8LwC}ZB4M6k z`ri;LDm+&mbyxvJ;D;`s>k#Ekf+=nX@UlxuPJMT}cCcg4Rv>HKh#X^~;TW}&AE9|+ zwexrJ89JGH+jnk_g}e4YZvG%EH!!}G$x}i(buIJ^Q2LHMLOgur`8D?5$NAkWR3&3n zBs-kbt1a1j@%OYPonkZp82a@E%i}uk;WTqnO*u>HXWuwJfnLu+{uz8@TmZ8s+yyz5J5C%j6KLB zzzWj$O=+r%J#7-AJ@8RROm!~$zXg0C zV_65&0U_+aqtS2*9#j^TpNnmGuh6XtA2t+JIYSSnwwt!$v-m=>WOfD=TMS)M8D)1d z+^oPNplTvtEQ`Ilup`5d_qCV9B&P#-JlDb{Yl-MvBI=6e6pNOz%W7xIGV)tD@oikH9YHW z8s!ZJssP#h0HN^8IwHfK;7D=)qET-v!-V9NI4zJb?y!op{u{v*b`1W}bNegOK0PWM z*^-w0=jh(h_eWGe`2EjOV9G(X5-}QR;c|r=4(BGjJ9rRd+Thga>Imr7?+(-g>KtjU zGH0LYK7D##ftRXtPcLL$+M`v~KYx$nx63#JSAO>`OXLvUgt2zT4Y8zTQJ(A>N2ymnDF-_Ri ztyF``TiK;N@%6oR1a-9~9V7Sr8qqNfO4SAzG{Ea@*h(JjUQWJlwx1On#)9KBjlxgYq=e`UWL#}?d;^%IrBbh<6n8^v5~6ZZ-FS0d;{(GRBm=SJPw-!{;B|1NTu(|0uGcW?k&8T{!UlS$ba z>RSq#{kgtoX5i##X7kTLK2kwj7EKEae}amc7&%frpCXO- zNzZ;wXLZfeCB0qqO*3sdTQ2oz zz>J#N6%o86RCJ9*FG5a+3ccZIYqOs_x8~w#Z$t^`MI)hR_R8S&}3RH=Ekuk?IUhWo(_FY2|2K~ZPg=af%OUZZT8hGM{ zgN6VVNZD}Utx)eNr%k6d6CdZ<$j)cnJwpk56|UwsXVdyuNZq>Hi(xqA$&d~vZof}r z=|Wy9@FfQ%ynyrPD6$G2E;PI|>Cn#-Q~^U|liXT(Xi&ql^DE_+0p08w7Y-_i3Slm^ z^{5X$^3}|*5m~ZwuLDj{F6W4VIbc^mOO(7Y(ql`Vb)$JpG}|v@k+IrTd3Ft?E88** z2eK%*8Jhq;#^m-Ujt02*aNlEr-h8}~#`3)#$U6U_hgWb}P8B*Yf~g;ef0+rs&6Ifi zp9IhGZxcMa|FxO?TXvVJ^6Z25h~i}-nM8*P3Y)U3M>9DZM;}Ph01g()SfeoJ?B#2R zSC@q8#=oKLtP0s|mQF}!HTxAqP!M-hj|p8JUOp1<0qJ`!go#9PEC_WJwx^JItH zt?|R__8cUPHcL0BDkrRL6*&&3O(sRj?t3aU~TQz+zPVFZYt48~VkrL^im za6!?{*|E)K&fEy|gs4CuS=r_2Ej{%wD++=sDy#CBz=AHAIBxr9I6HbQYs{NzhZ?Gl zz=`OXL?qP*nYA2Zu!^=Dqd!4bR1gXP2vx3;odH`R`X~7V18%>wW>eCBG_q)Ti_{~u zR`cGq!Ug4j{a(l8jqNJy2uP?(RiQePt3_+a{#M-XA0$X|5MHI93Txfre<_(rd)#Kc z7uH0<<=);Dx}TCfHK^A~j4wd;(}niPEhmKraf=C#=)7#t_{7@YokZ9NHmZyxXcyL5 z34pgyKq#7*PTzj9;A`m}9Y)nA7GBAyA^9>*ugXpkorE^y;j%s?t|iRw9`dV+PN0Ss zx(JWMRj=ss8u^EUZ(HrJ-eYl$%Yl4Y!VQJr-V?-eoindr_zHKtT)X{{n?tEJuasa*-jIOo*fNz!{ z=#^*t0sKaz%zpz?D1CE~YFDW2x1zBLX>@!%tr_c!Tqg#VQ$5zTI+LdhYs}xK+9F{h zi(oM+fV_n96wNiV8wE{YZGaN6WIs`d#pX>#Xd`#lY84t066V~6x~m>_f45bNjE@eM zvj&#cnr{-;w9P;{*S2fQ`JgD{qJ<&ZqMj;CeOVu`&p>&}*fyx+PM!(GAnFknPhmZ) zE59Av3U{8khl`0Wed6HlQ3?;NIA96j`@XcvhW3k+6NGz+OpkcQW>2B0{IEctz*A$u zq+efh5e~KY)|J2EhJ;91u}+uJOXlt)?oOp_TkM6qoAG`KO?ZwClT#Al&Tmf8kA;Dc zUlaCh+261}3`!k=ZJc`~fm4A8xmdc5K5r#)H^CS4v%)L<6Cd$^@R+)#G1^-VIsLxrk+ z!ZWS*SlQ?25@8&g2}8>&ZVGc+h_3)o`pNOrUpf1e+}78N3zIRoK7#aE%>{>2#E|Ej z#lXbVLTr4rTy)gc5~0|nmAgL70SF(!n837tv8xM13XI6Su3nRww<>O4buYhoDN16~ z%8G1!UDF(GsZ)?F_OJPcCQIus_QMZ`jQOXiZFsPoxK#^iThgkPC$=o0P=!0Ve0{B7 zThcYC+*l*!ZeG9~avCWT{pr|*@=rfQGON7INb3-fs5;m{XjxsLD8eFNzwZ+>%_My{ zzP>AKM0s6pMWIbGhBPWCOxbx!j^GBFYD40RZH5JYOmKlLJJEcdYn_q{ZM&D|jMc53 zZS}WeuY-lF_o66WHqGwCg&0h>ws`gS{>l}WT0Z0Ndv2m4%dWQ2MxBrBLf9#Jx5MWL z82o{F!mgndqWt+Q@+&7KUAX-#1kbs-3vW-jO^U93t!}?d*SPS-7~TnXl7`OfD;G)E z`}H2Kt0C2$2`I@Y{mkT=+XLZ)4(XWfd3zo9^}BpbkMSo&7P%Fs4Z`Q&vZdUAW`CZwsWwFg~{rp9G&*WW~1Gem(-v zM1LL3!Jf3)d{AG$Y#{z!A^+Ro9nAmz8ljlJwb6g#0F~7>(NwX$qroA2TXIYIh3E5- zq2*B;!Oa#73K7DC^5oj#w^QIL0J}yc(-Rlv=gKyBy<<1roq3(mh1{~8m(k|0S!6Nb z2FyXmmb~wZy!U|-5?y1m#mg(9KiO_nr-as0{G&{*IC%9_Mlxcc6`loR~DX& zRc_a!aVUu9diUA8PR*LXX4U+2KjXT_b&c_i`v5S*TqR^g zWlW#1AJcmkf5c3bP}qzoZFXab2W$3=E;nVnkmx6BznRG*1>AmPupp49q=|(7vpqZv zW;FN(9V>$syLya{7}2FDRW#*A%v{10zcl6hu~Xwd2!ZVCaAmJwyj)sZrxg{4lT$hM z^01HlBm_x^;%EM1{1r ztV>1%g7!L&hx=TNO{NM$CW6`3FUW@9l~|_E_q*7Bic9){Xt_4CJdTxy)}^#i27CUI zyA!n1#|xl@TvsdQJS%wM@w^D2K1$dmdD8f5?i$K;o#lN{7b%khdfP{*dl1eq@s$db zwgxy!ww4OXfq=`#E!&9(hfZINFJj%COcycF0$(U64@aKDM}34D8Y#2G0YJ*F3~>la zER1HOMb>l>=k9d&Sh^WJ`-97;M-oc?Dc9$tP zoAVUXP92Y_zn=|OLWq}%!=YuDzEsNyN~=`&Kv$(JsxsmY`ZJk{p~D4SZU2q!5(D7TKhP7G}+cAHD{U1pVhOLdrbsy?)wp@QB91PFySQI_yKKU{i& zG8c)gBcyYWex8Kn4dH;a(Zc-i#k&U3EQ|JYXW^4op(Kl;c{x92F5`&l7sutto@}^& z)P@EdEmS_<`$)1H(Xu`A6U@byC|@tjHVdwxHmIwnK9t4JMAO%{<-@Qlvx9OpkXGB{ zt)Do*#LKkZS2xE)-2`m7XLxJ!%q>7Y3;M9r@d}zP-C=%+vvJi2FH>yIvaI2Z?>-^k z`{4P?fO*L-H3tq9Sc1z`<$0EunSz#-Zf6WU&q5N)W`OzjMHFnZYiSQr0lha#wj!5m z53zlE=l!G$8N;^uvjTeN;P#HN2JB4SwOIq&h;5RS+eVe^OjX7XS>0dWCtWnP$n)V? zWtj%R-tUE-fBiOHfOi)tPCy@KQZ0(H0vPtpjB8fhBbLq53h;t&w+pwVd%OcD@W+*@ zTSy(o*dTh~&KxT7a>Cui?k*XGE2LADAn?c_N2Hw(MJb$lvCIbeJ9fA$DP^$M#=jj4%Xr~38&m6{OpY~}rm z_K#ZX38Y7J^7UHm%2#O8zjsmpZF0+h2v~x)HYVn#&JOzjX8=x0+*ZU=Mjq)w6F{5~ z3Ir(+ZJM`O9So)sXw(RY5vQ~kL=*=eKcPoc8(6N*Sl#SZ`Xs?~5*dz$dk20iz@FLM zx$KsLmvyp6!Mh-RxpA~vZDZ-#O|5=3 zBhq2&xKcZbP6%D5`W9)4W7FL9vP<+O$n9tEmAgZ_CAlN$g*;G|*J0J|qV=xS zXYD2RV7<9C#Te{)_Fy@w<4R)pBWKVqMZ_Luy|FTSS{gKG54X!IWjz}A3H`_@>XEE3 zmol}#an=DcJ~euuM{vI9N+sdSqoP|IVb>VcTxj2o&+*bWsufohgjY3|U&+i8(!~1` z3e+)Fp`l#=tZC~s&!*=f1V@`X!g-LhV}m6ShmGheY?t0_$#qR0z&bz?EF$fg3zKT^ z#EKnO`f4Dw@SgrLOibrU$IX=Zdv>^R@#1DWw1t{VOn=yxK9i>a)-=MAF|YW8bgDd_ zK(U@kGC5jdeoc4E4sJUmcjNs7mn@TiAO^&II(M$o<4@ejBK$yl%9Me+oqimxaps33 zDIf+yXe>OAIhbuV?E5R&yV)HVH-=cdxa@qsI|I__D&Mp_gE;p|NB;4v(YuI`NPX-p z)?J&^8w~1}-Yt-1+kI4b_EZsX2Om$$GHvbNX+^fq(}LwI3HLQT{z)#lesL||_J#Ft z8i65g>IK%X=OZLB?M^zw$sh6aW5b+J7h6VHtC4&&-fw>ccx(6RK#Co9@N--xP;G18A z1fwa$Cee>3BNtNsP=^RmDl_o}5hMM!n(SX0%#W!Mn~rV74E;OaLW79U1UR-Gxey-g zSqE}HHUPOFpI2c@mWb~NDE7KDJ?k&|y8Sz^e(Kj|gZyuSPy2Ty>OX)l>}G7}{GY)K zNvaT@NGmAZzz)O_`baE#$x8YV^_``K#Kt9C-&luLs0|Ikiww=J;NqCi%mM+8;%kN0 z@yS=3^Q6{h8tp5MdULH1+Ts~kp1#sO*^ef~QG?%h?;g#!JRMgYXS(j*mOphofqPxv zSVM&&4T_o5W`ApVNXSZAn%-*}4A1{|-;}_1%=R{YaGGPO!Uuv>$y}Z`3#&}dkb;iN zSzc)NPu}`i9JTX(oQwO&>r)gB`5{9R5)$t{Kx7C>2(0{^XpPY}#toVLC$-JL>hMCI zMsrcnOsSU35c$cY(+tbxsx(QtwtCpYRkggvfCVJU&yBgg$-i1}>h|NHY;knfPPgmL z0rZTWD8~S`ok-J?XO-FE7ZGk5W6t758Rnhy?5WSa7B!X=18l z5Ce7Pv)njir3q~D0jbcgpB5qw4no$YX2%gOLy3b85kq6fjrJ67vTKvl=n0UBz^>({ zF^SX~>0(jk6{J!T`e6otFj0M_Emim#RInm?_Ln(5s2W0|fw)aX;0%!Fey79gNBF;5 zCLLA}Y&xsxL+x+pclFu2BrY;L`wQk!sS{Y7GV zLg3&lHq=p<&~|P*Hsc@pm2ilk(CfxDM|cVvkR{hf}TmM1U1oFL41Aqm9aiaf1x(tOO*?AwdbfW0vaY zmE!D$p>U!BU@d^HGIzgP3}=|2k+nV=uHx6vCpC!?REACS{SyS43b#IH7i(i0?xvN@LtcI=u_|%jL6haCqB5ns7k;?p2t1{6 zfhg!pEZQjV9*GUUE>Pk=Mkq;%-TG(HRtxDTI>o;-D03H z;-1#WsiPco&F`@V!qww=Od7BdQP5f7X5F5`PGlx;&QYYk1nQk7K<>4KSQ(8om~MQ) z?F~#;zf{l1Vh8<6U;ZOWNb3pqAH zLlo&FK9mv^b`&0_q$7)kB$8gnSs$9OTG?H;r<}JjNy<#~8Y)jNSGs}7@71BjFucvH^qnU3`UY%Ax{`NG{5g zm^yW~Y;Dvoy$@exWIPohpvtJfZ_3w8?ynsH^NGgNb9*({cx`pbcmiVePFg3Ffh z!S>b!p4H~j_;-Z%(DjX{N-cgfWb+fD$_QS)NCPQ5jmk4PlJ9_c;_?>k@|#HHD~QW_ zM1d^|8+_rSzGHfm>SiB1XX%)=NX~4y`f>1#*9;r$yD!BFCR2d}S{C4<>}3C?(h-<~ z4VZsMC@S-siFR9=Lw!6E8+N+aygVZ@3y4Stc`NEkSB6Mq_NQknltT+R!PP+aJK|M} z$DfH--QCri1D_<*?ZD7hF*_WD74YW+5&<6fr5(kh8P8i-3!yfw!Ye|a6&gMa&0cTA z+tDM$X4+im%E0DkM2_Ra&C53woxx9IxEt4|f*@CMJOh$Wc*l#7fE}Hj;Y@1@o74m%@j7`i7U@L6 z8)|SHpK|9-zH@~GIytbQn`nzk`-<~`m8*xccS4H8y)Qr`n;U@|3}K_k%!*MhL1j;HclH#n>6V{C-qp`Z(Sdq>{}BY(G7?~n8Xwj$t|fq}1= z?G8f~PoP5295HqOEj(|GtD9z7p+YM_!(Rmk9cL4xhoq2wW^GSoi7($BUNg5scw5&q z_L!;#oN;Q2kC;9p$y)319ZhUb4q}^pH;KKi-A$^@^__e(8Zb2S%ap9hatUzQ4jXaa zII`PPIB*9dWM-??TLd6|+a$8SynE^+3H4}OTfoZ>JOj-|a8@x=fQ(7NuspKXwM7l3L z1OJ0`8%nU<(kz%$e*VEM?Ui|`3YON4%HpJp(idHz0CZE@ZcH7Hw`gt09;F_1$ z=eydl2)H-2B}zx>9VIJlkj~La|Gcb~P8Fmkt3+|PdMP^#Yi5;1+hkQhrFmFYxHGkt z=r00t=mOEV)N>LWl!urgB7HW3dq!$k&<9|{lbO`yQ!9Fqy)dqTdS!NaN+5JdqQLLL z2x&c~O8_brn!pq1l4X$|bF_0~efFw%=zv#~xjmW9 zVh;r$LUzu7S<)0DiPN%ASo9`EV zl4QRT?RX+X+y>z*$H@o&_-0-}UJ>Fp$`=+*lIch8Qw(%i7CK-3;bse37jBP6;PrMo z)_!+-PO&)y-ptmKjn;oSYMM2dWJMjAtsA5_3QNGLII^3-?;x_z(J+2-G~a?0{1^_* za_e@{*;gc^9caJaJV~lCO&Oy%$IL1d6s5&}=6e1Hwvnl~F`@iO<-88RUhJiL)X{|- zff%vtNZPUm(J_Z{_ROR0o|EX#G5pP&|0M=oLDrV8DS&CcFng@j1@?gx1_)en{Tgh< zK4h&n<)?n69Ipojg9vw;e@7#ofMJjcQfi?*o&jwiMHNVC&RbZS>~ZTOza-0-qmq`1 zex-N60rjvp1C_uSNeIii?6|W^+JfC9m`xsfmg{?zSYamlgU+%Vm1SR5gwH)se|&W< zw?^Enk~P02{!;Jn)ui7g+Az57YxB8?FHjmi^a9q521_B=MH7!vD#&Ms(nKyziA;nf zQDQmII@KL*`re(1oPrhcen@+#ouGG|g(;A5(Tthd3rpk$zR$o<66m}O~QtU{! zN-s}RfYh+?*mR**w@;=HD8`mYE`w%PG&Rdvbec*t zxDhsF2h$(^B`0`8K;9SQ5)7r~lc%JmS|$41gWovR2u7Ipz({g`dr7=+b>1qt?E-5j z(d1;ZB1GUdqPPHqLr|3|c{ADdK#70(uFQC3{+=uBkB5+{vgk788JM7M0<&gaWBE|7 z!AXWjw-JJ0-HERtFPM{fvy}kGMA(T5II97q-)?^3U2Css7h=EHJ?$3K+z7oxvo`Vl zK4Mn9d=M9!_nx!B#o{cLj93VL=%cU}4{&C9aUd1CL2R>;=h}Emc=^?AS&WD#U+;}y zpv+Y|{~+;ToF1F3%ejmh%L~}A_*bcwH0YISk5Nf!A)Cj@GPzYhMj07^ASau5@fQ!xZ z%|mL5;mB|@JXIgvR#>+m`$~RiE-EzviX>^CMFGuCeadAXr#0pWAwy#L0~I2Va56#e z+&eWVSdoHkmP;{*EGlX(u|eFVrz(k8aEKDMlk<#u=PcSvi}H~8kDE}xO_)3=b_l8` ze*yIc*2S(N>EJ7qt4WZX)bBWI1FD4GMr^9C^N8KUij=k{Va=U54_7By=0Fkq>M6ND z%Oz%MZ#hIV9O;Z0q{k7_wh#8)VcXL{9ur9Qv1UT?wLPJ#B}>7P(CQr4*U5Bvwl;D% zm@J2qRIi5@qqr0wH@~H>Gtw+IZ(>I>QC0FR;6p_kyaO_hY`qR9zig6n=vXExJ}d5Q?16B70vZyb6j!*rI9oDU^}dkd~xN@=}y1n!_3`2||ujKOQNcF7V2 z`qHl0l@wD|(Z?K_#`i*oN*Hv4p<%@zBtl$>?Zj;^{>L+#a72M#I^o~LGO^lm{!MW z`}w^sxFMvm6*VfumbsWo;W@BC(^F(z6+^vJR5jy^&kD$Q-{aaPv%^j9Rvzb}&iEgkunlF091>TLa$rzz}aXl(a?wz*lc{IdP@$RnS^znt>%Aw>|Q zHb5dHL<0x_LP!Zi0q|GGOa&(A$u__}$z+IdKHqo~>u^A#5aIsJc0aycU%%^a^XhDW z)7qOAir%42%$6oPlS##yr9k>4HBW9Z@8WIq*pHuUaADVHQW(vsF~o}@IJUANtbu z;K9#mFA+I=fs_|P%C_m0Auonq0RPBy%QLJWMlDA#FQvrQQg25q_)g()N} zH;0r60ZA)uI8<4^gsApTpG4cS?-4z$i%Q4z4F+C#g{p+`LEM5>d0E+ACQGD(d*n#c z#kOp7yj)a5eWW?u0tzMk*BCjNi@XB#6eXSdV|l=pe)HO~Hhrzvi^5n?q3e@zwpSUFCW_1!F6Tzg7n;Q zegOZ;O@c=<4jjxSC6#3IyU`hTPPW=q7`|_L-hsOj#gGJu70%U#6nB|EW;(9l-9G<; z{pQTp+(#%EW6Y=C|7Kcl5+k;=sGrp+byge`-f7k@SyALk7nzudjuOl~Mpe{c?8-=gJT8opined1uTg(C zaK@zB)@`FZR@SPP;_8X7AD=;jyT4=p$WzCkjhuIWp_JNmBlPav&&y{67(ZHBsDm~x zS<-gc(xpg%fLHe2Q#2yWy06QTxG%M#4N*%)egGo>)ygU zdAPx1fBC0>kee+hQR?f!I{wxe#`HfpFxh{FnX;xTk}C2CEE-v$c&}2MT7{aBAmLz# z3SUKT5@IhZ2!9^zm^r$X$^6)$oQwT~Pm^J(2Rk2vqYlSEF&cKNG=*bAhPENt8Br($a(Fz1{W;44V}|U2~L!=BgaS zA}Y}^bP$6XmrO+^mFuLJjnMfhT^xibNM=#6bmnYA)k!ZKERY$M^6>8`mp^-daIDqU z0E^m74gBP51?o1+Fvr0o6gwG8;$%&Fw#UH%ci98U$CQb;F!bRFMnD2jwYXY~=96`5 zEf-w)cv1U`hEf_BrInbfjs}rotR=}&fcW8pP<{_6-nELdk{CJ}bk|z6KBc>>;DM1yg9fvl8olsFEi-0+ejZ&aTlpKBQ zrZ$<%Ru;xwIlnuvQAPZutn*%dSPU)*evkcBCtB1KX}{|*weXczl_;?&^|6M_l~Flv z_ss;EozHmKtbK?zZ*@^`V!E$n4NbG2tt013CLc+yr}BzzFT8Qzef_S zqeu1($M$YO-A8qbXzjRWrbWH`50vQaYe6NqJ;n99e!e{*5oiGV9ueStVspEsa`Cv? zqS1rx{PvYI4}hWF602_?0XyDJ`y2}qal<@$ED$=`*T$SK_u~KGaWZ=^-@XeIKb&>^VD3`r_()QnAbI1b6I?2 zglJYyicy(9Hdh4HtVFC@P#&3PFRlD#*=A9#l|=YTuh0InZU6fo`QJ{0|I#Dn^c@_( ztlRu1U+WeTa|cH!MQ4Nm`1voR?v#q=Kiu0N#Wd8^6UuFFJ<7B+wL9A3VleFP-DHFndZ$qO$=N0aHTnVRiy&;}y> zKV$7S5^3xE)fgWle=%8mPoS(;o}P)U%_GT>5?w5@Pq64hvYNK$s~3`CqRSBDbF3Z_)50MFM6@W&J=;A*UmQwMCS8jwu2Y8+t;7N!JRj(Nvn#OtxU z@N`wBf)4ANVrO#!ejcWRKSWQN+jR*zfLm@lo*O8hnCq9^7anW4P^wIy-k$sPd5NzX zQm)yH^Z&@(&Y^)xu@90Xf*zPW><_%DO&e|6$$7euMkPShwq!-mtC4K>SxDaF6L+bp(y)L;vO&v zE|euIXB=)b9_GDXm$+eZwgo}EK00Qsge@UoAnF)V90`IcU+D1#C!Je8$~zpJD;j)n zla++*b$xEW%m2>I*n+_0ZF1m0@1d<3Ka92g&A(f0^hi5_9fMW!i!>u@d+r58cjyUz z>+`P6nbuK61*b*CKi!E%Yap}sfZUR5;VOlI$ZVn6x;?CM^iV3>8I5Yy=wX~fkN+^l z-ycN(-u4)_q#8(;s>%^GAuz9Dg;4g8s3Uq`0|O4Nn#CtwUNON-=7uu#rEB z_yxBEqQx1r^LPJ>?_ML9LEU&}tHN&Vp!X+ z#R8b3Ow#$OrU<3(++7KS;BZ=zMg+MGSP#wsH9(Viy+~ZbwGhx=r6&exf(hvoxQ-X_ zj!jA?lTq%`Z!pK7Ir@R8@EQ0%s$8ZriKpZX_zQ02KhdN{1nRY046!LmQ)Pk<0dJ~i~bd(e^DgIzpz=9^v???Mm`;Bs5dg5nHz-b4Pltx$}0K=)W(#uaWy^t=3?UF z^0+fIv;FPJjt(NAcBd6Za#7e^QiHjUD5>c@+(WxvrOZMzLZ*sTsZEcnjqs~~lVx{3 z7QPl=twviABam^0f`g|k%euwKQsPV_nLv@%drde%+55%1nNh8KN~Pw6TV&E8?nTI` zr-u?Gi6ENyCn(aB4G)a!z`rb<@cYNkX-up)NuO4SO;P@EYu-r|Y9iOtj1kn|Sg*$l z6qQG_*@T!Lii(j-ccT9Vt}0T5UoRi?G%o0Q0AnFBySxPF;=q@h;$`6 zEzM#PfFSrDb)71mv9`OUurX9NEx?ZCd$*KofU62 zcW{@slw=>QSIx0*Bi`NkK!I(;m^FusG+&b#e`TP|gc)z!nYN%XKde7EC+Qe{)3|;o zfPR55iGvY^ttx@OPd)gAup`N*tGsdUmzU5VuY*f-JG#S?RN$T3_U3wjc{|G&{Q16? zxI8O(PG1)KJsIZ58M+bvTlO%b@39?E;MTEqh!W(t%$138sA@5rJXL z=GkadAN_l4o<|t(wE;=pPvGu5KSMtYq*MsMcGo4{XuGMIAQ4_TLl$P{Pv8~D5GBPK zxwHt8=2i=qF%!O{GGd#cPVwcrb25i#Z>h`oK50% z7w7b0FRg9!g;uCLx_=-53rmwM;cJTP`!c8g`z|H%KSzLov5BpN@xN(Pmx@TH@SoNW zc5dt>^8!V}STvBtfkfeS@I?k7mQj3IMNxl@qxa3(GByAy5%;>MIkUDd#W+@JDm~7_ zbnh`7n`G?7sfz54jPJ1*+^;SjJ)52`Iq!F`Io}+fRD>h#HXkU1+w?Wg`%BZ{f()%Z zj)sG8pern}KwDH8vzqcRLyZ?IplqMgpQaxM{V$i^6%3hUE9AiM5V&cqpPJ7nt*VK-fQSIj--?#=sQfIG@Z#b_irw zWN>Z6x!ZL^x}>1yV1>P`0Pfmsbg%Lv#xc-T{~h60Gi;6fate3pkMXKKS~;6+>Q+q; zd(C_)#7NF(AELA=cdHm1#*-{)i)izBIYmoZEGD})UYZ<0TCDpQ1?KP8{Jr0}@=!83 z4Ns|bM%~30Us{3__}-)LW|UuYFva9pyEf5%h+7=IRt%4iO%PCd-cQiydMu%$7A`>@ z$GnU6R^x}Bs}(!D3`Ry94-|H2&a=^}JupF0*Y%$STJA(z5TaFReG&CqAa+PTFEg&; zEe)WfV}pi2bCWiLP3yF5FoAK7km^C8|45G@=;T=}pZlxEeaMwq;pr%%2GTiDb`xuP zFEss(KYwb($Ve&XE-|F*u!=KK+wbI5WT05#_6a8N_ODR zdPdRUVC)8cH{}_z3;c``!@xMn7bhkU(K&*tjeLk3l+S%03 zlba5kLye#=^zeB`!VUWljG<>67>QsgeF#(!;l3hxua71(dNIvc=6E(nl{svK9>Qr+ zjx-dFq^|Zak*$*_774q^tW=60Hr?@rC63Mz#FIX|Ym8s~> z44^^xNyBRLc#q2hi0$B7~c<5!ZSYvpTO4sDS})ezie-Q zwbgGhe^*qL{^vzSP~Xw`D*@No#?jo#+{IY&>+MAw(=Q5ar~l>Q{Lg!I6u($7Kk|o3 zi&K$RQS;Am6*+m202E!x^i)z(X-r~@(^t7*1|!b(Nt<)qTi*L2G$}87p4Xht%+*c4 zTy(?!fs3|D_U*4v1Fw(wJD46ECoFYv03RGT&rty5Zq$3&E`% zrxGNvZLmRG7I$(^O5{r9MC>SCVv@{-wSW~a$i@I@!QD*Rwqr-;dmikZ2>t{7iCRQY zvbg)M3b){kZY2f_z^^2W9D)T{86jAfWG%MVky@*8JSmY80lZs7U3%n>zMrq&)kSrR zrlcGR1OxhyHqT5LnfzArQI`^r;p&L1nU6}G?1{B!dWUPo@tSCsZliJ%fEfR2IZ%yM zT67iLKG|8^4mDQyh!polRr+Y7+&`0iNAt8b+w*2J2d5Ok=No#l7sc$?0A>uGR`Q+i zf;A2+j8%VNJ`e?~(WLJAI#WynEFJkeiWvzv69k6}!qoddwqJT~tN$E}&gbW~;uHni zymCPcpX5&0zWQ#UvwZZy+J{k7*E35RHk^E_UNTrXfSodN&M@`4Gys zXMpVRB#SdN_%S^v<}(sUJPd<|SN$fVPBazqW$F;3Ob7pir4BVZH*=}s5~(4{pr};9 z-M7%HfM7gNebzU`Xw^&GS&*J#K7~VQkTAJ&wk>Zl+tz!x`Y?QYU^{F*pO)Mr)1gp`04rFPy>2FkU=wWy;LKAMzf+0 zDM(IbYh`Dk*64L=N*jBEz3I^tHbXtB5On+P=VEPL8!mydG>$ zT@S9;@0*8RDK)+x*TCN_Z`=GC{Hl^S(N^X)@^xe2%mUgm@amhKG+Oq<5)rnoV4%%R z>Nn{hveGY4T&ALmnT@W*I)aT~h_b4W&L9PVG9&^i`4D20S(i`Of>+7xq+c`f-!G?t zpuE`pn0qisMRU6%5ETPVL2d@gO8VgWg7()N>y(I!0sSn{7G;rF;7ZNc3t&xd!^{e| zE(7-FHu@!VrWQ8CqyXlIV%C@UM3X;5zyccR)0eE7>C8oPd*=h5teC~S&EN!X0WWx+ILt>8Zp5{qI1NWu9A>nwx+x z4!~7*1W=vh_}s0v(Wva}1`Vipmx~Zl)OxFu5Fz_FG-&GJ5p0&ksr`}JB7$6vz&xBi zTb48O<-(gaA!wG0R>2+v`rv;=_ckkBQs~f=rxPZxT09zqIW3_4QrASUcD}on45Zeg zvd5rBQ=2d8Sh1W=WXiXQ@uvb|dDDPs>(YEAbDBw}uSRa=QkzT7Cn?vpT3n*aTC$j* z$60FBT3WJMQJzw2`j#u+2R434Vd#2)wSaUmYNA!3w;xH7^CJxP%`g6%Wde6r>={P5 zw7t!n1;0+UmeSwZ?9i-DMNb{j-=P*ogQ#hb10i*4lCyqYw}d+Upfsi-t&Atu@#FV$ zsbG3Rv9;x_*qL||lM+&iexW&n4PS>p)))>WRMMb}Q!Fw~T4s^TbUgRPWENtFT>=`* zpa(~hqqTKemTD|`V3U`e5EKM~b{n{P^LpO3D+L(giAan;F9cJPN&@j8J7N(EL`_8s zOLDwO*t_4RVLdmE25g#Xx}YuKRupr!m%;n7^W9wjk5Z9(bWASpHN8YV{4|s(d8G=- zX8N%WE3RseVTIr}f;~X(cuX_axzT50sX;A3*4c!tAwntyMgg!2O2+hsdUAT3THi?i?0-`i z9h*hbvdM39Zm40+v~-o&7z(T7%3)n+q*%$lm^qe3f0V-+g*o0IlMivyq|0O3B)e7J zko~UT+FsR`Oe4oESk|nUdEy2SN97jUNSm4Tg!LiAl%_-vGF?_hRcSi8#Y=*_%g`Ch zmB|=nkC(u9pzQB6wVOUb%tdfZoSnZWMr<{=(40N1_Fyx`(xv%Zir{$`Yq$Y2n<7u) znV;qsJ3D6_YTj6Ltfh+&Zy@}d*m%PxgWXz%UO=^QHC-nIpdh{pyANL1+@Y&V#1^UY z;jX@i(kbx+A%dYyhY6Jv8&V4HTgHH!_D*MJ4veTY*oHh4lZV2`5YSd?kms7!^zQFz zU&+ofT8NHhUW`898(mP_<7#t8>69ltPEGMUxpAYCXbEi7z@dZ1X(?Oybc8oNL&z|P+DXLJ54a$f3AI&P}3FXh))!0bVNkyg;yn4~ANGt1Zte~P+bt08ch9H#CCpfohd zHXR{tAUwlHiynY!i9SG5Hw;)DEEhCXL#e1n7reBG1BmpX#ao3U2o2t;k?Q0=E+c$# z^3bF`lEsJ=d0ETlxa>gLPt5N%%Dbn%G|QbEmUUMIHA8Evu`be~$IeQf4>)zy%aM9R z#LEvtD?NL zaD{boOI=kJFbdP@-wkn=A{NLELC9v_`vKYe>&p4XPH^S%vBCd#!8QFJgY>cZVdwK% zof&UHhcHI`IVyxZd}faMQb`hC-yHr*miMY)Yx~%;Nx&D_p|ig{JC}L*!x6W&qxA== zT@Bv|KnRQM=4Y>{*_O_B>=1A1YiaN3%vY{jjISSCQ@PCEsW|pkST}t%8U|%VN`8&8 zJ(HSn6?L@nZSuD7F_ci5GS+=P8(@5sqI*SAfv+>BXb&0mMD*Y&=Ct?|B6!f0jhJU- z;hvkYyO8me%8RUf_;C;G4Zr)rO}R_%9k9~`N=6@@FnB=#xdH(hS}!4I(1rF??&pO21W{ta)Q^@yaGK2A}jCPd#0`XgePo(JM~$`d`u zKc-CI3pM=hp8}VNCk2bl*9PjK|P+jcbne0zVu>cz%2iPdx4Eo&db>TIT=PPv9OzoghQ12IPPcsCj+AWu0Yqi~C?A?X%D_cw9Ve01(!T{s}uaH7Bh<%KC9dIKzohx`G3Ufai z_{%z)OT9RKl5Os4Iejr2PtATlL~l|CdW>urXrAav|GaG>xOr&cHB0M}D#(XqRh;qR zwtCflnIJ07^;><)U(MdZOEPpengEIU+zDP4P<2YRm;~NF5K-!923n?!U?Tu`Us}HeGkub6`bn0EGAgIirm4*<*ImIq(D*hUUMEbThlJ!AUjQ%}dK*qS;d% z$UzNft~m9e=1_g`U42uPVEoZ~`wn75Hz+L>Ev-d6e5wt1iP)Gks08hU2sLRzZ=T5m z@xGW3SPwMGz=R?nE)~tgDG=N5_&jBFVtbW}`b{#J7H1e(5CAO!FiPi2kne{DH24Zc zB8iaoUt2vj+J!6w!u9V>-Qhg)kL-AhLfl~C6o&svY$5&1uhYMXt@z(=cK#Q{_CKKD zs_$U@e-Yaz<*)o0eq`>2Wz^&(RFFYBzDfZ}Y;Rk|=D!^>* z9A(j+eekXJ<$j9@iVak%i)@vxv}seQHUB!AM`3tw+*Ob6@)<4aQM_*@GYF-x1S>r2 zWrR-SeTS9|+IDD)O@bZ97F=9!*f>zowNk}_>@ZnPevIwQgoA|DFe@K~ALB#;fCo2l z7@*I>i)fADBSOdcqt2EQ#!)THzH_prH$4`3?* zCLbr}l`Eo|P{k;1()+C+UL6PSx(pgFI+%_0O1p~$w%#85 zAUtZiC`oS(M;Q)20?!N2wW6}8HP04XFfhGk-eY8TO>MexH0I1D6sI;+KDV6M@>`vuY$XJg>U$;F^w1|krsFUrBi zDd&Qtq=?aB^UF5KqRW^@)Bo-c;uh^07@sN5tur57g}(icbU*|>dvZ ztckD6&p!={X}xKlLL=c-s}CSsI||!lsE*Cihg{&9;jynMwR!;-3AG4Td1tig>>mU$ zaE>eBmV4bY?~SN!-A*OBUS_5n=utq|I*D#saoR4=VD)FA9?@RSaY#xSpP;nLa!xc> zH!Ecb(&jT|3}^_w{xc7?W0pI({0kx_e+v=e|M~3q7exN+Vxmat|CQ$|6CG&qcR*1r zG-Y81kOoFm z7nA8p*KT%QU+)hf{3ugQpg@!f+S7c>a88AqP;T?HYis!`2~E0W7;Z~t%KnXMtYR-3 zE73J1EajD2sbKs9&k@_2QEe;7cXTL|^7)?prFovx+=IBMx-x3H88IVMsQTntu3_X;f6Kc~( zbB+_oazv}YHf4BHMqH%R@QpgL!LNZ2sGQ@FqDNAq>CwBGp7j{j=!lTj#Cfv}T4=S8VA@KXRU5pEDPYk#fT=`f%)Z*K@c%OjD6e-Y(VP|~=wHG}vJm)bE50tATkb;bz5zzu*iS%6j?> z%bL^`4 z_glr!gPElBycTfzBs@xol2lOO{rJMyB>36w)?0~OsXVQ#Sc7g>evyWB|V{*Rf7<2^vylJmBuarp2bjYl5WVuDF7>~EkG~&QTb+4Wr z6T{+BX*PI$D|Kq8S2emw+(#7rQCNtC=#q~swaTyjjCZ2gg%T< z4dKup&;Zf1vh_OUTYdEc25}iPT#I8;Ufyc43($Xb(Z#RarWcz5uld-f?LWh#-bfC{ zyr~H5jmf-8u2qW#Npa~md=~KkCa+B_{t~Plwyp~5@4E99Qq_dnp;l8D5`}sF; zl@ZYc4}G+k!5Z=7p<6cx?nbVb3}F``I}jlo(k5um_8-pyWNy-Y;+MOu=x^O+{|g!Q zuR8kIn)g3sRK>pn>J&AaD=o`FA)mq^=V=?Me0D^aegH^GL6}l8y?)nsQAjp-OkMeZ zMVLc*B?(F7hw=9I7zrKQsDgxt1&3^9d4AQ6r6@Z^6G1lc_q3n>w2b zE<;U%1kX+a^zkDWv`Un!;eOJa z;RpB_X905aauAB#%p00W15ym8k|d&Rp;~BxL^qM>ajG~8c6aw6f_tS8(-}PW0kh!jTW3ToByvcc-@kJq$rc+6)VQFI$o*SASFPj$Gw` zAZPddnRyz2w-cr%JGwxv+*FyySZQGMN}ojrKqeYBwMS|}oL}@2M)fWv?EWmixpwiI z-iP&lNOeMc%=^pFgIb8b;PO@MOujrl|9-;!U-RjIqh%;bfAMK_ACq=tV|DUvLJc{7 zGYS{b$P`4x`O-4;-ojuZTfwwO$>xTsD^y>o%ue@OG`d(b1FqMC$ZIPq@Ss>y6GqPK zmCie^naQh~?QNfLY6I;M(>L>Q7SU$m7TO#z_QXkd0Qjk5=*;qC4&k0T__N##%4Zdj zJZMzcjQ^*!s{qO)*}6c0pusJ;ySpZM@Zc8Q34FK{+}$;}Yj6+l1cC=mg1ZKn@PF)X z-UD_w*?s@5qNcto`kbEIGt)gi_nsTMRV0pDS12-_3njGtm<-NuM9_)^Mp$aMKJ{{)9QFb0(}O2K&<6E>Sv7 z+seMR-kId>Fa5}H{9N5*Fjp-& ziHNLu&3TANp`VIfEW=w~n@6(0NEKwx;;gp@-XT~xZ0{f2MkHgB&F-RVgHt9Y^4;t% z(vK_D&JCsL&Ygjeoxu^8S6{q4ZGVB^k;Eh&vAlB>$QB;SGV_J;TWX39o9M*G$$7Vp z54;>3f#Jr(HI?p`QVZcoHcfM?_$h!s~!zv6ASu=st03( zRBM{8=d&D1uhoUvIT^{~QI0OTOD3169acV*Nck(fa`Rpe5CgC16Qs!_LQBwqX&A95 z;N5*m{Ha5Fahuo_5t3kn@z2@W&yzT>kdfh+&_mljer}yYVz}RzC-;YvrTz2wN zkWc&FGu*|9b<0W72!sg;h0SvmRLhb%vN~gV!@2=Td!2spFK8S=@L;TZoM$#d3B$U6CY}n7 zEAc+w7eIt;(m@nM-x+K9D8p~phQ1|v zypGnU%?JWX#%Lf9(vi=J6rYm`De*Hh9Ea~(I>E=ji}G65xzS@*i=shgid$DG^HNps z{7Nn!3$%q-MuAb$e0Qo``1+)ft;W#I5Lb9kI8fW4NJpobnf_>)BT*2Ajfj<4yXtu> zm>4^2>VnbEJJC%NId?bLn%?uMOYDMzs9MwKjvDHas(YLS#Yk@fwgtTBL+t)Q(Wr42 zX{fGKap1PG5YE6Xz)zth=bVsdN!VB$a|M=8!5 z!39`)U@Qh(8ozMyw}u2X%Q=sF+uE1n{03oI*Gtq@4XFNHkAGJ)0@=4zp@kouYdCKtxNHb*Dz%jbcz?$i|}aG z8ZfY*>3v>6Q9<(~S0Oax&O}$t?6S?$?r+{4@FUX&B76t=4yuXgdeDV&{ivIB7G41+ zDJT$O9vG?qft~rw2hREPgA-g2tGPg8A;;x9VR;21H`OGAaw2n^3AETC+dW-=&gbBKd5Gt|#Ne(IMPeM1!|E@!o~ zEKEuMN}|MjFrd~<5xTM@*LFOH@lr#0gBN{*vQ~v!Vs=R>kNKn1Z25Hi@#;zvdyez7 z#33Ai_0VA4aVyX@s3g5gs~nOE?L*yXC+&nNmc?a0Y)I*^>%44nl%caq24lkD-~{q0 zPz@(}l$V7Hx&z4(24cyL*Ph87JWCFhlx8&-ntzmXS+zbs*W_wkz$wYv7E+i5eNk*K z;m|-*sHhscG?Uf~XeT_vIYj?VGI!}BeinLRFyXGyhq>(4ah2phQnX9@`u*n6MU(~2 z0H#0?Le18)VxlrqoS1jbhyk2MW=}6*(TA}jaG49=$10_k6S6>K$>&GqTUrm5NgTy`8b`j41s4<(!?rK96HlWOYRIC;VZvOgRJwZa9!vt1tOCtc=~( z9$4_-@K28e{IF>(gvXo0m)NS(ZWrD%Jewmuz-RNsPhY_PO?43XyG*p%Lzg8h&Ahaaj{v?2;5igZT13I0e8HtoeDv{ECUaqGDKkJ1ox{gJzHV zb|~M$2uObd3-9v2{3C47u>KWV><^Ox+Gb_ki?ERGurA3&gj(s|%mXxqsR19grnPOA zVdtcp!#t2SpcB1v$0w2upd)2LCkCV^%2wi5H_yizhW0PLld)aZKh&(7sSp%FER~#Z zfnh&t8}vLAcT1keWm1PfZt&tFHhl3CvAPqZxGGo4*Y$1g`oUNz!*#6+#(BF)@E0?b zI#XlGR*XdYUb@73xv%-KHHmm3qMm-0SUx`Lc5X1kvH>>WzUGEg7)-OKdPK=YAre!_ z6*KUj$~~Bl3WyupdNRtvSioS;?2!Sl50T-fqUL=t* zmWE6~ovcs6(;=DZw%pH_o!g^~@M8tfrckiZyz>K05y+OnaHAQ#Phx2#@^YP5#Su!< z3i8FVD#2rMMX7}%rSUc1@5iunBsq%5?b7Z3%&C82E4}3gIba3JCA%;&NJ= zCJ3U8Zs$IZ*Urssl=Kg)#0-rzgt2ajm1|p!V$G7bS;a^OOwYzGgRD5ATbQtB1?G89 zTb~zjX<=`!Z!kTIBb07fZKJ`NIk)d=9>XF%>BQfrKbZsX-Y#)_1(6i@o~+xD%cc&u@UhLIO+6#qDm$mN2L?Fg20C_&wi)|pE=Hfc6*23PhUW%Xep^6;tJUG{#aKffDyf@_ z?{!X!HJfOb0jsqJZ7BLiQ@8-;klmKYO9QTne%KJ8`gtfxCtzzrE-mN=PtpB&!@C(b zeB+D^FK<|zz`hk)DSP06x$+Vk%*%kS#D0NZVYgUSxw$4&p~C@c8rtqa+RTaqRo{Q# zT!G^2-lqdzMFn6qIZ_7(6g{g8t7{q}@93y6FQ0odmh}Qw&0Ct@y!~RTs5R-A4b*5| ze7N*qh3&M*GC*eg4y%wjJPS=pbz8zf;YJ5uFibk;c`3;a``b1ZH+*EoHT3aUr`b2% z@aNK$P3*YVe$jYs*r~wn^rENe3<>@y*)!}#-bC7D(a=T@m-T||$~P3;cSR{5;31!S z+gp?%p1|XZ#xRwPK^5^RRJj){y^9cat*q)~1C$?LZQGLLg)i+!LRpV?Gn$_o1eQk$ zytE;s>_WsW%sd=pWpN&#!Stfxu`zpTiDz7Cs`{i}B-Nx?{KD zS=>hAx7L-U2~l+-2UpeH^_J!YRs~7G4FiRuD$c@=l2X=Gz(lAP1{>E0AsN&X!6M|v z>!Fq|F2}71O=LKv)siRQd9VDb-Z`)~rHxi;U^7XvnLp)2rQs;qFS=qc)@=1g*yqk! zA-2~@WE0EER%N|Wzv73!TFRGZ2&BTmUqXSui5;~ZCC9x9y^+-(nN-?3b?2w=WB&e; z(Whees#T8vTavmr zEm$xf$BOA=fbGFs-1yNaOz9Izb#jLT4Z;Q7k)kZ!FRWK+q-?tpE$){4~`Oi#Ogfi&XD2$aY-}l1R`nkrD(;dJBG*d6X z(je>8e>z%1w-cXZaw_e3DUm9dnY%8R4YoRGe8R+pmq<0nnuu;QPh`PBl+u7Y05Lvg zV77p(nzDBs^j;`FF=)PPi6k4`n2DOS;zQ#`@Pt}vjCegAT4A64NO|n$$ujciHQcU+ zMGv*ql7TMM={^Iz+G4xJtbtecG4ea;U?g72IF-?Jc1vGnccKRBO}aKC;!N?{F&+QdnIBc5;qlFTOOpjNm+%)vv8S=9K0CrP*# z64T*yDQDCLxEy>r$INpFyTGdd+f=&W5ghZhsa`R zERur6w)IGd8SzBeHTgrN28#S832M^zho&9%q_b+$4e5@$Jgwp7j1MgUwzGB}wWny^ z71fHU*(slvvGZn|CIM^$hJ_g9YQ5Og=at8jOWUa*o^{a5aE2X^e`-I%WwZd+wQ1?H z?tf|Czh_8UD$Oy1JhWy`kNx~f#kd8d>)2Tw1jfx8+OYFbb+_v=He3Wd|Mg*AWI<9rOsI4;I!Zo6}7@P(}ZYy{%dd7q-#{q2;wgjW}5(+qKJ2w55RN2DL{+O69N zO0hfRvHi+(>#HOo%WJGA5hvxcdMxaI7h}$G^+aJjm;E zh^YEPVMXD)bBf>@0R7@+zCNdUXq??y4sD}&B?W8p;p(9d&&1oCBLcT{iZuLI3DY^H zmBR)|%XEZuP2~^DGoHAn&UK7NrHyHFI1syFwTFfdvE*VAJ?P7UuulPVn{i;ZLHlj* zd%kSR7|E}Q=T?aZ= zmKvy+{)E=}Iki%T)OC#);!HUNZr$UQDNua89>^;Y>;tAN4llYZWY8vGg6|#x*C6b! zz=-8?Z%QGdruE2zDH;sj;PG!KuJC}U>N?fQC3KUXl5HnIwB{Tg!orj3!BcXpT2}=1 z70x+o!8(~II>|WQ*N0E=BC;G`e(n%FB(yn1;URMGrYnL=l{KMF>+1KAQC={Tyo5fa z`~K9uqce@nVqxt}{o)nr<-Wri!~jvJ+=a``Znlj4KEfGV8lKT$A!n%D#>r-$W7_9y zFzE}_mErXf!Ykr6mJ3^N*0s!Pz~u&R@(?Ls+}GKd?c8wr{U@9}XL*=2D)!$i6-#ft z+^a_npOh#3RlQeC*=4EVwx*Tb&|<=)?3sN>rI^ioTp1Cftdm*esPMNto3 z*HtqXW#yTO8w7JpZ9lis^9pmoNYdl3!KR7K?Nm1wM_#K|E0_6V$R3o0MLSZt&$v?O zga$zj+A{Z9@YPS>7$dzlEF48mT2I(=F61>XHC)4!e(!m)@tatR*v)f5rNbC zwlg8|h93tHxcruRR^Bna-0G?CSDAfo#2;2T=>2%v71@;SlWZ3gabOO0H&G5uwO{rJ z-P$S{VEjOAm~zDY+Y+TI6?XVu(xa^krj<#@`Vcp?;myJWCi+bcX&Af8jyU6kuFxq} zHUij_F4*sMs0VweiN!J<1EYz3a;c$4P5>VN3CC1}=5T{6u$l#7o`Col^=YV&98+wb z8TGY<>fm%C93W}7^{{;BNJV3R5*&sQ?V0BBj!N~O^&6fSqqCOOSjbG>|?%hSv!xfJ)3!*QeH7y*rs(b-)FT^R;+8t&d#y= z@q&_tY^q|E@R&Z@F!*iyK^3c*`Iy3vz-+hH13% zDp8bE0E=D#>v?BBY=Bsf?X>`xys&=3!W?pYdwtDo7E!hA2~)HrZTC>`pJ-;{zqlSWM(IOZ!mwR z%c-L$!D-Xj0lD_7W1t&&G5Z-6S9y;~khMPZ=sLZwk)*TS=Ka3Nz-OT(HJpCL7NhEs zVH!C9RR}#^!!1-?%PCQ#@(H(T3neg*jYWTNY#YH6k58Y&t*3OI_(XQEvh9)>q2}30 zb$EHo5}j)lYDKf7!vs0I>ih%;P1O@08fy)G13h%7EUeg+wW#D3bnL)jT1z9KlC<0P zhX8bdX0a9NK#8^b)3|Bk#^z0uxY;pNP9C`dFOoR!bt(ZY@>6X2h=Zb3Wb)7vYXPD>?LDxaay`hA9K2;pdB*wh~lV*H22bN z&J0=Ab`S&izesNw!@{ljdJmG{y1!jQ*}wWN?um8k@~Q$61f+`MXWwalxhL}5Mu`3& z>D9MNcfaq6lqi|pY6ZK!Lm%k%ZVO|ifELkit%#tliO|Nbt?~9Qzz8bPKpEAKfOHBd zM#_rxuB?`t-F_WUW2?3Cn2+S6e0oeCu=cggC4Q2{IhM&67b6mhNe*ZhEfxpP)49{8 zHD1wEt+eke79dZ)h9iN4U(j;LPX;?1j=Z4X7!V=6jw!(i_DdOB9z3F)r^A|Nd~G5| zuTMVcg~b0t`qA zJBkyj*QKY~z|l7y{K=Fx8lFIs@4-!lG`L$PoK~TmXX&HjI20%#7))9kk7~3m+Pt^c ze`Rm>rgJDZemyLV?GsKii^S;IE~~^=o#|61*j#3sGFDkVh6T(TH$DrvlObryvmLlM zZ18U2FSIfksb32r3Hkd;O%WkV9t{bXDW;pF?Lxn=da;|eF4O}FHCIF!k_)wKQAQ*z zJGZ8`Gh7Bb0%Z>~S82+sJ9`ln@+_$Cb*;L$UnuQVun;&e*iLAh$-1yy`gDv=5LjLL9^@(lslBmF+Kw@Q%tN^bEDbMuPh^kwl$`?uwR$6f&;L9Qw3-p8-XK zCfe5@Ih2H@^o)Tt5%1GJlr)qO`tfKLQS2rs^*{ijbbR~}_6b%ZpP}Ap|N1%SJlo2g zIvi&(+0vZ5Kg0*3KoztouB#v)#pS22rQf{yRklYL^f{GZ|l-Qk_mQydAU7q z$xBJy1;eeX0U~6Sp#~8A*x`Wt;pgAul=#v9eJ-R_?>exPJvoL@zmbM3z zQeQ@mtX}NwG`~AIlf#dkWu4>W+^e!}(iC0JBx4rWqslJj6+myxl6iEvQ_;kpZ;eE2ty3zXa7*kt4o?o7g za)ULRG7Y}Ac5ar-=%F`)^R2{shCH>Z8+N))dE5ybhw||$MnZ_0JF3MJ`62%Ic{}jd zyyw_DxLV)BOx|509BMMTV55JEoEPCuR>WI7a-BAA`?wzr zj!>g3trhwLjfdgTIbGq9I>*{&9+$-mT|&ViP9wE>l}AK43#U7u6Ur%xMV8G1S&fEh zNXI3|oExqNPB-VA9q#-k09erENb&7@qwgEAn^w<)S&q*6$B+UA*c{fdkH8*DDVOt3 zF00~TLy_P3sLv=!r$vfqn zwcbr(zl39iac)<4f`iNfgb1djc{LfXNZe~?7rT(u0P zQ0bRCe+q(|mBJ>Yn425R@y@-C+1{vTSosW{_&LvgMVtWNqGjJ2Eq<1X)J9MnzKP~+ zzVerYG#oS~XyG@8FvSR;EbG%|IG!8ekQDj%e%8_DX&>>%{QAw(hbGj@BIs3#wNpd? zipeXvS8O()L;~}(IQUNnn)JwR$|UIoSzn1?=Ap)$x!}d4@SuIIrLEtCOihg!Vwzk7 zt5YJSFN6z=jZ+r13XQ%|t4lh|eDk`4u zIfrctQH_k(r$RWpLSvZ>@6EcjsYZ@n9TsxM6aAE9CBmb_Ol9bFZ*9_q=ThU=d#n)Q z?sl5vq+SYm*%#0|#~`4%N#fTivw)=?-xGYln9>t5wE52Pn^d(}xyGP1EAeCKFgt<% z;zxZ3Ik86V)*eBSlz4zvz%_o_WL3`kWI1tw*0d#jP!`WEg=dKR3|{+t z7ORO%6xYC~Y^kD)k$q|i#4}d6B_|rkjm^R(1GU2T9fFn>v^PZ@>WahYEyAnoQ4Qo9 z&iS9ma!l3oBh?Q|wr!)L2$XNqT{W)pZ$B^u5UxGnf&>9^22QAdAN0WWt50-)noNHW z?D>64O}P!}xs4f)15iqMf+;pcNuYbgCXz0aUMEX8IzvX+Oivq`E-V$Bg=rR%`0g?%a0@M}#=|Nn(z| zS|Z+s9K0JGI4RgHj(VZtF7@{(hT!IX0cBB0VxO?Uofq@M@`OY?U91aHGu zNU>Kev!7L81f?`7@qAWZl3k-=Ik}^!GNfaD6F^aoRc9t@LIds8GEGJH>Mb%}-ZGuW zqf_y0QfEujAwjg)hwZ5E>s4P*`NJ&;yf=vLWY%ytya40QCdFJ`@4h~og3{oMRPwdw z^D*wp_TS)s9!Vb4WsED0%P*BeP+{YkpH>N1dAMYiy>U9YDZYn8f%By-)y#F#&a9sF z_Bmf6+}=K4c?ktS0l&{Z|7q;Ri(lS8))uA)dba;W3^pfHN`{CZ(eDc~xX_h=hTW1* zlP9z!&t)Wqp^QFho1=xFwJ|d@ugO!m8*v#jyerV}6nY;$y33+9qIU$}PsE-UNZY+{ z=4}DtX#Yrr4uv6pSsLKWuFa0B7dGcYyO>bD1u?o~Y}b=ou1hU)SeDcNQs}xSq%J43 zoVJ3FNXGcO`lFMDan+eJvA}|m$mm-n>*@=5!Y^`f=!pGuV9;d=ib=nJ$tvr)P&)!6 zQ<&{XX$u`@s{a_|#2g{mZg6?y&rN1_cBPZ_s!OCWpiHr-cCS;V&NINZ_H|Xr)eikpVOw`)LH00t#nZ1#vN`^{C!?4Q6u=~>Y zB%$-VrCK&vxE4qbQv9OJp+sI;Aopvqj^f=!^&#N8y*@K!B6^~I>bbmZZg{G#H}d&a zk-pu*K6H*~GEKUf9w9A2ce=ZOT-%PcOSzoQ8=IL!S;IX+(4jfKUZyI^6EKu@nYeBb zd7+2L+xr~4vEcO{?(OLB37Go_0OK22e;O7k`m51@SorPEJIMpp#GJ?hX>3MRzZ*dT zWH8zY>%8C%x`LRH2HiGcfk2gX%SbtcJxOWuQp0ZIaFm!@DrypRp6B>53s_(R8&HH3 z!8YG+a4)Ca@%QjSu39y*V149s-Y9prW0zwGL5uE&qFa5KIR@J}$qiiCSEE*Eh>EU( z5k!J-WLm5VBCF|b2qDV21|*O1>sIZ5xD18LA;uE35ug~yej`v`;`d4zRDxPXD6lMP zlfGxc<5-3fD&gf8l??cs41=VPLBh;Yf$!x{Ta36#iZ8FM_cj#GvV)+ok3~*v6QI}; zBlk{1;v(Hu+PFNqeCFK)o?sI`!c!{aSCOvpPA-o{Y+emOkr|*V)=st@)?4CXmgbS? z+Kkr|*?xOU|CX!vDsF7sXUz7LUN|%bkMqlQYTO@X@p0rV?8!SMO`k>>^|0 z%frby^HnvONqV;y!Ieo!*nBnh{vcKw^~OV*vhVVK?%kVkfT6Df<~tv88jc}pn=-3$ zjs|!d(t-i2>FVF|qrH*snI?8oZb$!}{bofVaP-N38+}kPR1j1UC@7#TGzcN^4+I4G zSoqC=#cUp!l&}Int(de3P@v_0vtU7+)qLPTQv+d9?=|8C{`yZdDSl}&5nv1oos`H! zgxf|xh!O4~5Cbv)gJ7;>Zvglc{oTe`_ZsW|xv_}_ovqGm9cz=H!jRvCDf$`AZ+)V5 zu-37(G_d{?=r?v;;oD`%ts_|Pfr0_g_rZz%w{Q1BEiKIHEUhho__ihnHb3(nFkPa7iLX$AuF1b8*wQvK2J-wu?_Up2qy z(?`EwrMI;KMyIa21%NY`HVg>JZ8^0cb_RM|h3QYd_yHqeVPSh)C%{rl#{>XOm;7&a zfZsfNhk$ikFcTT*i4`Cm(+_mu@eGt3cvt)_fslcrj-8pU5Kv#i%tA*WD2d1T`%3a5 z{s6WX3^Wkm5;$D)_wY-A!|^ZhA3lPCGqIx+zn!fyP;%Hr@4wO`4?7^p>Jx4W6gf5o zmThOa*8z55A<%!`fxkXIAFEU3G9c;_@Q?ByIt2F5(EsDNzlQA=SW24(J{$t@fu*+Y z!NTGE1Qw{vVyk2JpNgapUExDcy>tbww6J5Li%2Ge{&E4v-Kxh2N&Opt1{wddApT*r;iMQ2df7lr)q|i^0 zA71bGYRx|E{oS%`_a75-Ky}N%_0%6D09?X6tikw@;BG0D+v;vV>8Y1sLqZ4Im7RPnLiPKeMoy(*^mFnSpkn{pee8aH`?D% z@((@Bhje!}zi#CMf7lsl8sJ~k{X{(QA@5!NCWRlQz~dR{k@dgk{YUy@4|{M|dP3q} z57O=abq{`~8ugI)ZifGTmm9tL*Tg^3xp>HXH*Na<2|IcGYu?{4D*nGz6L?5`H{VqF zo~Pe>|Bu8EbF?2)-c4=1O=SIHXP|R_|0Ct^ck&$_k%ydjGtKVbxyu3nBj?=|%7=7! z6MXIuXJ7FDi|$vxy_^5>{D)(K$1~8juzyYbORwIImA}m?`C(_E*pdI5?dKUL4?TSM zll1*LMkD6mQvdZj@9sYReFm$XUoiY>Z~m_t?rvq?zG(ljGtlPZf6MT*+4AnD*^3_} zz~dR{^}Ap3{PS(nha+@%v*va~?uVU$UY7rY_2F9i&N}B$OAiR(r Date: Thu, 12 May 2022 14:14:10 +0800 Subject: [PATCH 58/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9mvn=E7=9A=84=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .mvn/wrapper/maven-wrapper.properties | 20 ++++++++- mvnw | 29 +++++++++---- mvnw.cmd | 62 +++++++++++++++++---------- 3 files changed, 77 insertions(+), 34 deletions(-) mode change 100644 => 100755 mvnw diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index bdc03cb2..e83fa695 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -1,2 +1,18 @@ -distributionUrl=https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar \ No newline at end of file +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/mvnw b/mvnw old mode 100644 new mode 100755 index d560832b..5643201c --- a/mvnw +++ b/mvnw @@ -8,7 +8,7 @@ # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # -# https://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Maven2 Start Up Batch script +# Maven Start Up Batch script # # Required ENV vars: # ------------------ @@ -36,6 +36,10 @@ if [ -z "$MAVEN_SKIP_RC" ] ; then + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + if [ -f /etc/mavenrc ] ; then . /etc/mavenrc fi @@ -145,7 +149,7 @@ if [ -z "$JAVACMD" ] ; then JAVACMD="$JAVA_HOME/bin/java" fi else - JAVACMD="`which java`" + JAVACMD="`\\unset -f command; \\command -v java`" fi fi @@ -212,9 +216,9 @@ else echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." fi if [ -n "$MVNW_REPOURL" ]; then - jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" else - jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" fi while IFS="=" read key value; do case "$key" in (wrapperUrl) jarUrl="$value"; break ;; @@ -233,9 +237,9 @@ else echo "Found wget ... using wget" fi if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget "$jarUrl" -O "$wrapperJarPath" + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else - wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi elif command -v curl > /dev/null; then if [ "$MVNW_VERBOSE" = true ]; then @@ -246,7 +250,7 @@ else else curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f fi - + else if [ "$MVNW_VERBOSE" = true ]; then echo "Falling back to using Java to download" @@ -296,10 +300,17 @@ if $cygwin; then MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` fi +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain exec "$JAVACMD" \ $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ - "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd index d06ac67f..8a15b7f3 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -7,7 +7,7 @@ @REM "License"); you may not use this file except in compliance @REM with the License. You may obtain a copy of the License at @REM -@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM http://www.apache.org/licenses/LICENSE-2.0 @REM @REM Unless required by applicable law or agreed to in writing, @REM software distributed under the License is distributed on an @@ -18,7 +18,7 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Maven2 Start Up Batch script +@REM Maven Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @@ -26,7 +26,7 @@ @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands -@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @@ -37,7 +37,7 @@ @echo off @REM set title of command window title %0 -@REM enable echoing my setting MAVEN_BATCH_ECHO to 'on' +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% @REM set %HOME% to equivalent of $HOME @@ -46,8 +46,8 @@ if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") @REM Execute a user defined script before this one if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre @REM check for pre script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" -if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* :skipRcPre @setlocal @@ -120,23 +120,27 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" -FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B ) @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central @REM This allows using the maven wrapper in projects that prohibit checking in binary data. if exist %WRAPPER_JAR% ( - echo Found %WRAPPER_JAR% + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) ) else ( - if not "%MVNW_REPOURL%" == "" ( - SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.3/maven-wrapper-0.5.3.jar" - ) - echo Couldn't find %WRAPPER_JAR%, downloading it ... - echo Downloading from: %DOWNLOAD_URL% - + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + powershell -Command "&{"^ "$webclient = new-object System.Net.WebClient;"^ "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ @@ -144,11 +148,23 @@ if exist %WRAPPER_JAR% ( "}"^ "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ "}" - echo Finished downloading %WRAPPER_JAR% + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) ) @REM End of extension -%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* if ERRORLEVEL 1 goto error goto end @@ -158,15 +174,15 @@ set ERROR_CODE=1 :end @endlocal & set ERROR_CODE=%ERROR_CODE% -if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost @REM check for post script, once with legacy .bat ending and once with .cmd ending -if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" -if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" :skipRcPost @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' -if "%MAVEN_BATCH_PAUSE%" == "on" pause +if "%MAVEN_BATCH_PAUSE%"=="on" pause -if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% -exit /B %ERROR_CODE% +cmd /C exit /B %ERROR_CODE% From 4dfd9d50ae31be562b52d3afea2688d0accf05a4 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 14:20:51 +0800 Subject: [PATCH 59/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 41f76926..94c71e72 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,9 @@ jobs: restore-keys: m2 - name: Chmod run: chmod +x mvnw + - name: Test with Maven + run: ./mvnw test -B - name: Maven Build - run: ./mvnw install -B -V -Dmaven.test.skip=false + run: ./mvnw install -B -V - name: Java Doc run: ./mvnw javadoc:javadoc From 4dabe2f56b889250cba88d7a4eb881484967ad04 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 14:23:52 +0800 Subject: [PATCH 60/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel-test/pom.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easyexcel-test/pom.xml b/easyexcel-test/pom.xml index 5be60ead..f802f249 100644 --- a/easyexcel-test/pom.xml +++ b/easyexcel-test/pom.xml @@ -53,7 +53,9 @@ maven-surefire-plugin - **/*.java + /com/alibaba/easyexcel/test/demo/**/*.java + /com/alibaba/easyexcel/test/temp/**/*.java + /com/alibaba/easyexcel/test/util/**/*.java true From 1d41aba83e663c20a84d7deb7e01fb0e98c1f6d7 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 14:29:46 +0800 Subject: [PATCH 61/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 94c71e72..bf96df7d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: - name: Chmod run: chmod +x mvnw - name: Test with Maven - run: ./mvnw test -B + run: ./mvnw test -B -Dmaven.test.skip=false - name: Maven Build run: ./mvnw install -B -V - name: Java Doc From d551070707b8e07d2cecce59e1514fb6c32654fd Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 14:36:58 +0800 Subject: [PATCH 62/68] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=9A=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ci.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bf96df7d..76e5b481 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,18 +19,25 @@ name: Java CI on: [push, pull_request] jobs: - build: + test: runs-on: ubuntu-latest + strategy: + matrix: + java: [ 8, 11, 17] + distribution: [ 'adopt' ] + fail-fast: false + max-parallel: 4 + name: Test JDK ${{ matrix.java }} steps: - uses: actions/checkout@v2 - - name: Set up JDK 8 + - name: Set up JDK uses: actions/setup-java@v2 with: - java-version: '8' - distribution: 'adopt' + java-version: ${{ matrix.java }} + distribution: ${{ matrix.distribution }} - name: Cache Maven - uses: actions/cache@v2.1.6 + uses: actions/cache@v2 with: path: ~/.m2 key: m2 From 7e0bd5ded062560a3d8743586189f8db1b4a5a52 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 16:15:15 +0800 Subject: [PATCH 63/68] =?UTF-8?q?*=20=E5=8D=87=E7=BA=A7ehcache=20=E5=88=B0?= =?UTF-8?q?=203.9.9=20,=E4=B8=BA=E4=BA=86=E5=85=BC=E5=AE=B9jdk17?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- update.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ca9a601c..ac7ce4a2 100644 --- a/pom.xml +++ b/pom.xml @@ -116,7 +116,7 @@ org.ehcache ehcache - 3.8.1 + 3.9.9 org.projectlombok diff --git a/update.md b/update.md index 5ff096f3..feb96f07 100644 --- a/update.md +++ b/update.md @@ -1,5 +1,6 @@ # 3.1.0 * 支持jdk17,去除cglib&asm依赖,改成重新拷贝一份 [Issue #2240](https://github.com/alibaba/easyexcel/issues/2240) +* 升级ehcache 到 3.9.9 ,为了兼容jdk17 * 在有样式没有数据的情况下也算空行 [Issue #2294](https://github.com/alibaba/easyexcel/issues/2294) * 修复无法根据文件流判断csv的bug [Issue #2297](https://github.com/alibaba/easyexcel/issues/2297) * 修复CSV不关闭流的bug [Issue #2309](https://github.com/alibaba/easyexcel/issues/2309) From 93d3f256f6ee332ce976618a0b8b091a7d0c7fcf Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 16:57:01 +0800 Subject: [PATCH 64/68] =?UTF-8?q?*=20=E8=AF=BB=E5=86=99=E6=94=AF=E6=8C=81`?= =?UTF-8?q?=E4=B8=8D=E4=BD=BF=E7=94=A8=20try-with-resources`=E8=AF=AD?= =?UTF-8?q?=E6=B3=95=E7=B3=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/excel/ExcelReader.java | 23 +- .../java/com/alibaba/excel/ExcelWriter.java | 22 +- .../com/alibaba/excel/util/ClassUtils.java | 2 +- .../easyexcel/test/demo/fill/FillTest.java | 276 +++++++++++++----- .../easyexcel/test/demo/read/ReadTest.java | 29 +- .../easyexcel/test/demo/write/WriteTest.java | 117 ++++++-- .../easyexcel/test/temp/simple/Wirte.java | 2 +- update.md | 1 + 8 files changed, 332 insertions(+), 140 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java index a1a9c50d..ab3f64a5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java @@ -1,5 +1,7 @@ package com.alibaba.excel; +import java.io.Closeable; +import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -18,8 +20,7 @@ import org.slf4j.LoggerFactory; * * @author jipengfei */ -public class ExcelReader { - private static final Logger LOGGER = LoggerFactory.getLogger(ExcelReader.class); +public class ExcelReader implements Closeable { /** * Analyser @@ -50,8 +51,7 @@ public class ExcelReader { /** * Parse the specified sheet,SheetNo start from 0 * - * @param readSheet - * Read sheet + * @param readSheet Read sheet */ public ExcelReader read(ReadSheet... readSheet) { return read(Arrays.asList(readSheet)); @@ -68,7 +68,6 @@ public class ExcelReader { return this; } - /** * Context for the entire execution process * @@ -88,7 +87,6 @@ public class ExcelReader { } /** - * * @return * @deprecated please use {@link #analysisContext()} */ @@ -106,17 +104,8 @@ public class ExcelReader { } } - /** - * Prevents calls to {@link #finish} from freeing the cache - * - */ @Override - protected void finalize() { - try { - finish(); - } catch (Throwable e) { - LOGGER.warn("Destroy object failed", e); - } + public void close() { + finish(); } - } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java index bfdf2f26..13e38d63 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java @@ -1,5 +1,7 @@ package com.alibaba.excel; +import java.io.Closeable; +import java.io.IOException; import java.util.Collection; import java.util.function.Supplier; @@ -25,8 +27,7 @@ import org.slf4j.LoggerFactory; * * @author jipengfei */ -public class ExcelWriter { - private static final Logger LOGGER = LoggerFactory.getLogger(ExcelWriter.class); +public class ExcelWriter implements Closeable { private ExcelBuilder excelBuilder; @@ -144,18 +145,6 @@ public class ExcelWriter { } } - /** - * Prevents calls to {@link #finish} from freeing the cache - */ - @Override - protected void finalize() { - try { - finish(); - } catch (Throwable e) { - LOGGER.warn("Destroy object failed", e); - } - } - /** * The context of the entire writing process * @@ -164,4 +153,9 @@ public class ExcelWriter { public WriteContext writeContext() { return excelBuilder.writeContext(); } + + @Override + public void close() { + finish(); + } } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java index a6d5b1f5..6bed3052 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/util/ClassUtils.java @@ -162,7 +162,7 @@ public class ClassUtils { Class> convertClazz = excelProperty.converter(); if (convertClazz != AutoConverter.class) { try { - Converter converter = convertClazz.newInstance(); + Converter converter = convertClazz.getDeclaredConstructor().newInstance(); excelContentProperty.setConverter(converter); } catch (Exception e) { throw new ExcelCommonException( diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java index d0f90fe9..0c71753e 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/fill/FillTest.java @@ -83,14 +83,28 @@ public class FillTest { return data(); }); - // 方案3 分多次 填充 会使用文件缓存(省内存) + // 方案3.1 分多次 填充 会使用文件缓存(省内存) 使用 try-with-resources @since 3.1.0 fileName = TestFileUtil.getPath() + "listFill" + System.currentTimeMillis() + ".xlsx"; - ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - excelWriter.fill(data(), writeSheet); - excelWriter.fill(data(), writeSheet); - // 千万别忘记关闭流 - excelWriter.finish(); + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + excelWriter.fill(data(), writeSheet); + excelWriter.fill(data(), writeSheet); + } + + // 方案3.2 分多次 填充 会使用文件缓存(省内存) 不使用 try-with-resources + fileName = TestFileUtil.getPath() + "listFill" + System.currentTimeMillis() + ".xlsx"; + ExcelWriter excelWriter = null; + try { + excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + excelWriter.fill(data(), writeSheet); + excelWriter.fill(data(), writeSheet); + } finally { + // 千万别忘记close 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.close(); + } + } } /** @@ -106,20 +120,44 @@ public class FillTest { TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complex.xlsx"; String fileName = TestFileUtil.getPath() + "complexFill" + System.currentTimeMillis() + ".xlsx"; - ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - // 这里注意 入参用了forceNewRow 代表在写入list的时候不管list下面有没有空行 都会创建一行,然后下面的数据往后移动。默认 是false,会直接使用下一行,如果没有则创建。 - // forceNewRow 如果设置了true,有个缺点 就是他会把所有的数据都放到内存了,所以慎用 - // 简单的说 如果你的模板有list,且list不是最后一行,下面还有数据需要填充 就必须设置 forceNewRow=true 但是这个就会把所有数据放到内存 会很耗内存 - // 如果数据量大 list不是最后一行 参照下一个 - FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); - excelWriter.fill(data(), fillConfig, writeSheet); - excelWriter.fill(data(), fillConfig, writeSheet); - Map map = MapUtils.newHashMap(); - map.put("date", "2019年10月9日13:28:28"); - map.put("total", 1000); - excelWriter.fill(map, writeSheet); - excelWriter.finish(); + // 方案1 : 使用 try-with-resources @since 3.1.0 + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + // 这里注意 入参用了forceNewRow 代表在写入list的时候不管list下面有没有空行 都会创建一行,然后下面的数据往后移动。默认 是false,会直接使用下一行,如果没有则创建。 + // forceNewRow 如果设置了true,有个缺点 就是他会把所有的数据都放到内存了,所以慎用 + // 简单的说 如果你的模板有list,且list不是最后一行,下面还有数据需要填充 就必须设置 forceNewRow=true 但是这个就会把所有数据放到内存 会很耗内存 + // 如果数据量大 list不是最后一行 参照下一个 + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + excelWriter.fill(data(), fillConfig, writeSheet); + excelWriter.fill(data(), fillConfig, writeSheet); + Map map = MapUtils.newHashMap(); + map.put("date", "2019年10月9日13:28:28"); + map.put("total", 1000); + excelWriter.fill(map, writeSheet); + } + + // 方案2 : 不使用 try-with-resources + ExcelWriter excelWriter = null; + try { + excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + // 这里注意 入参用了forceNewRow 代表在写入list的时候不管list下面有没有空行 都会创建一行,然后下面的数据往后移动。默认 是false,会直接使用下一行,如果没有则创建。 + // forceNewRow 如果设置了true,有个缺点 就是他会把所有的数据都放到内存了,所以慎用 + // 简单的说 如果你的模板有list,且list不是最后一行,下面还有数据需要填充 就必须设置 forceNewRow=true 但是这个就会把所有数据放到内存 会很耗内存 + // 如果数据量大 list不是最后一行 参照下一个 + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + excelWriter.fill(data(), fillConfig, writeSheet); + excelWriter.fill(data(), fillConfig, writeSheet); + Map map = MapUtils.newHashMap(); + map.put("date", "2019年10月9日13:28:28"); + map.put("total", 1000); + excelWriter.fill(map, writeSheet); + } finally { + // 千万别忘记close 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.close(); + } + } } /** @@ -138,32 +176,70 @@ public class FillTest { TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "complexFillWithTable.xlsx"; String fileName = TestFileUtil.getPath() + "complexFillWithTable" + System.currentTimeMillis() + ".xlsx"; - ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - // 直接写入数据 - excelWriter.fill(data(), writeSheet); - excelWriter.fill(data(), writeSheet); - - // 写入list之前的数据 - Map map = new HashMap(); - map.put("date", "2019年10月9日13:28:28"); - excelWriter.fill(map, writeSheet); - - // list 后面还有个统计 想办法手动写入 - // 这里偷懒直接用list 也可以用对象 - List> totalListList = ListUtils.newArrayList(); - List totalList = ListUtils.newArrayList(); - totalListList.add(totalList); - totalList.add(null); - totalList.add(null); - totalList.add(null); - // 第四列 - totalList.add("统计:1000"); - // 这里是write 别和fill 搞错了 - excelWriter.write(totalListList, writeSheet); - excelWriter.finish(); - // 总体上写法比较复杂 但是也没有想到好的版本 异步的去写入excel 不支持行的删除和移动,也不支持备注这种的写入,所以也排除了可以 - // 新建一个 然后一点点复制过来的方案,最后导致list需要新增行的时候,后面的列的数据没法后移,后续会继续想想解决方案 + + // 方案1 : 使用 try-with-resources @since 3.1.0 + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + // 直接写入数据 + excelWriter.fill(data(), writeSheet); + excelWriter.fill(data(), writeSheet); + + // 写入list之前的数据 + Map map = new HashMap(); + map.put("date", "2019年10月9日13:28:28"); + excelWriter.fill(map, writeSheet); + + // list 后面还有个统计 想办法手动写入 + // 这里偷懒直接用list 也可以用对象 + List> totalListList = ListUtils.newArrayList(); + List totalList = ListUtils.newArrayList(); + totalListList.add(totalList); + totalList.add(null); + totalList.add(null); + totalList.add(null); + // 第四列 + totalList.add("统计:1000"); + // 这里是write 别和fill 搞错了 + excelWriter.write(totalListList, writeSheet); + // 总体上写法比较复杂 但是也没有想到好的版本 异步的去写入excel 不支持行的删除和移动,也不支持备注这种的写入,所以也排除了可以 + // 新建一个 然后一点点复制过来的方案,最后导致list需要新增行的时候,后面的列的数据没法后移,后续会继续想想解决方案 + } + + // 方案2 : 不使用 try-with-resources + ExcelWriter excelWriter = null; + try { + excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + // 直接写入数据 + excelWriter.fill(data(), writeSheet); + excelWriter.fill(data(), writeSheet); + + // 写入list之前的数据 + Map map = new HashMap(); + map.put("date", "2019年10月9日13:28:28"); + excelWriter.fill(map, writeSheet); + + // list 后面还有个统计 想办法手动写入 + // 这里偷懒直接用list 也可以用对象 + List> totalListList = ListUtils.newArrayList(); + List totalList = ListUtils.newArrayList(); + totalListList.add(totalList); + totalList.add(null); + totalList.add(null); + totalList.add(null); + // 第四列 + totalList.add("统计:1000"); + // 这里是write 别和fill 搞错了 + excelWriter.write(totalListList, writeSheet); + + // 总体上写法比较复杂 但是也没有想到好的版本 异步的去写入excel 不支持行的删除和移动,也不支持备注这种的写入,所以也排除了可以 + // 新建一个 然后一点点复制过来的方案,最后导致list需要新增行的时候,后面的列的数据没法后移,后续会继续想想解决方案 + } finally { + // 千万别忘记close 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.close(); + } + } } /** @@ -179,18 +255,36 @@ public class FillTest { TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "horizontal.xlsx"; String fileName = TestFileUtil.getPath() + "horizontalFill" + System.currentTimeMillis() + ".xlsx"; - ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); - excelWriter.fill(data(), fillConfig, writeSheet); - excelWriter.fill(data(), fillConfig, writeSheet); - - Map map = new HashMap(); - map.put("date", "2019年10月9日13:28:28"); - excelWriter.fill(map, writeSheet); - - // 别忘记关闭流 - excelWriter.finish(); + // 方案1 : 使用 try-with-resources @since 3.1.0 + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); + excelWriter.fill(data(), fillConfig, writeSheet); + excelWriter.fill(data(), fillConfig, writeSheet); + + Map map = new HashMap<>(); + map.put("date", "2019年10月9日13:28:28"); + excelWriter.fill(map, writeSheet); + } + + // 方案2 : 不使用 try-with-resources + ExcelWriter excelWriter = null; + try { + excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); + excelWriter.fill(data(), fillConfig, writeSheet); + excelWriter.fill(data(), fillConfig, writeSheet); + + Map map = new HashMap(); + map.put("date", "2019年10月9日13:28:28"); + excelWriter.fill(map, writeSheet); + } finally { + // 千万别忘记close 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.close(); + } + } } /** @@ -206,25 +300,51 @@ public class FillTest { TestFileUtil.getPath() + "demo" + File.separator + "fill" + File.separator + "composite.xlsx"; String fileName = TestFileUtil.getPath() + "compositeFill" + System.currentTimeMillis() + ".xlsx"; - ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); - // 如果有多个list 模板上必须有{前缀.} 这里的前缀就是 data1,然后多个list必须用 FillWrapper包裹 - excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); - excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); - excelWriter.fill(new FillWrapper("data2", data()), writeSheet); - excelWriter.fill(new FillWrapper("data2", data()), writeSheet); - excelWriter.fill(new FillWrapper("data3", data()), writeSheet); - excelWriter.fill(new FillWrapper("data3", data()), writeSheet); - - Map map = new HashMap(); - //map.put("date", "2019年10月9日13:28:28"); - map.put("date", new Date()); - - excelWriter.fill(map, writeSheet); - - // 别忘记关闭流 - excelWriter.finish(); + + // 方案1 : 使用 try-with-resources @since 3.1.0 + try (ExcelWriter excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); + // 如果有多个list 模板上必须有{前缀.} 这里的前缀就是 data1,然后多个list必须用 FillWrapper包裹 + excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); + excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); + excelWriter.fill(new FillWrapper("data2", data()), writeSheet); + excelWriter.fill(new FillWrapper("data2", data()), writeSheet); + excelWriter.fill(new FillWrapper("data3", data()), writeSheet); + excelWriter.fill(new FillWrapper("data3", data()), writeSheet); + + Map map = new HashMap(); + //map.put("date", "2019年10月9日13:28:28"); + map.put("date", new Date()); + + excelWriter.fill(map, writeSheet); + } + + // 方案2 : 不使用 try-with-resources + ExcelWriter excelWriter = null; + try { + excelWriter = EasyExcel.write(fileName).withTemplate(templateFileName).build(); + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); + // 如果有多个list 模板上必须有{前缀.} 这里的前缀就是 data1,然后多个list必须用 FillWrapper包裹 + excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); + excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); + excelWriter.fill(new FillWrapper("data2", data()), writeSheet); + excelWriter.fill(new FillWrapper("data2", data()), writeSheet); + excelWriter.fill(new FillWrapper("data3", data()), writeSheet); + excelWriter.fill(new FillWrapper("data3", data()), writeSheet); + + Map map = new HashMap(); + //map.put("date", "2019年10月9日13:28:28"); + map.put("date", new Date()); + + excelWriter.fill(map, writeSheet); + } finally { + // 千万别忘记close 会帮忙关闭流 + if (excelWriter != null) { + excelWriter.close(); + } + } } private List data() { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java index a97d2c1e..d621c300 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java @@ -98,7 +98,17 @@ public class ReadTest { // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭 EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead(); - // 写法4: + // 写法4: 使用 try-with-resources @since 3.1.0 + fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + // 一个文件一个reader + try (ExcelReader excelReader = EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).build()) { + // 构建一个sheet 这里可以指定名字或者no + ReadSheet readSheet = EasyExcel.readSheet(0).build(); + // 读取一个sheet + excelReader.read(readSheet); + } + + // 写法5: 不使用 try-with-resources fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; // 一个文件一个reader ExcelReader excelReader = null; @@ -111,7 +121,7 @@ public class ReadTest { } finally { if (excelReader != null) { // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的 - excelReader.finish(); + excelReader.close(); } } } @@ -151,6 +161,19 @@ public class ReadTest { // 读取部分sheet fileName = TestFileUtil.getPath() + "demo" + File.separator + "demo.xlsx"; + + // 写法1: 使用 try-with-resources @since 3.1.0 + try (ExcelReader excelReader = EasyExcel.read(fileName).build()) { + // 这里为了简单 所以注册了 同样的head 和Listener 自己使用功能必须不同的Listener + ReadSheet readSheet1 = + EasyExcel.readSheet(0).head(DemoData.class).registerReadListener(new DemoDataListener()).build(); + ReadSheet readSheet2 = + EasyExcel.readSheet(1).head(DemoData.class).registerReadListener(new DemoDataListener()).build(); + // 这里注意 一定要把sheet1 sheet2 一起传进去,不然有个问题就是03版的excel 会读取多次,浪费性能 + excelReader.read(readSheet1, readSheet2); + } + + // 写法2: 不使用 try-with-resources ExcelReader excelReader = null; try { excelReader = EasyExcel.read(fileName).build(); @@ -165,7 +188,7 @@ public class ReadTest { } finally { if (excelReader != null) { // 这里千万别忘记关闭,读的时候会创建临时文件,到时磁盘会崩的 - excelReader.finish(); + excelReader.close(); } } } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index 41372f6a..e3237053 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -86,7 +86,15 @@ public class WriteTest { // 如果这里想使用03 则 传入excelType参数即可 EasyExcel.write(fileName, DemoData.class).sheet("模板").doWrite(data()); - // 写法3 + // 写法3:使用 try-with-resources @since 3.1.0 + fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx"; + // 这里 需要指定写用哪个class去写 + try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet("模板").build(); + excelWriter.write(data(), writeSheet); + } + + // 写法4: 不使用 try-with-resources fileName = TestFileUtil.getPath() + "simpleWrite" + System.currentTimeMillis() + ".xlsx"; // 这里 需要指定写用哪个class去写 ExcelWriter excelWriter = null; @@ -95,9 +103,9 @@ public class WriteTest { WriteSheet writeSheet = EasyExcel.writerSheet("模板").build(); excelWriter.write(data(), writeSheet); } finally { - // 千万别忘记finish 会帮忙关闭流 + // 千万别忘记close 会帮忙关闭流 if (excelWriter != null) { - excelWriter.finish(); + excelWriter.close(); } } } @@ -177,52 +185,95 @@ public class WriteTest { */ @Test public void repeatedWrite() { - // 方法1 如果写到同一个sheet + // 方法1.1: 如果写到同一个sheet 使用 try-with-resources @since 3.1.0 String fileName = TestFileUtil.getPath() + "repeatedWrite" + System.currentTimeMillis() + ".xlsx"; - ExcelWriter excelWriter = null; + // 这里 需要指定写用哪个class去写 + try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) { + // 这里注意 如果同一个sheet只要创建一次 + WriteSheet writeSheet = EasyExcel.writerSheet("模板").build(); + // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来 + for (int i = 0; i < 5; i++) { + // 分页去数据库查询数据 这里可以去数据库查询每一页的数据 + List data = data(); + excelWriter.write(data, writeSheet); + } + } + + // 方法1.2: 如果写到同一个sheet 不使用 try-with-resources + fileName = TestFileUtil.getPath() + "repeatedWrite" + System.currentTimeMillis() + ".xlsx"; + ExcelWriter writer = null; try { // 这里 需要指定写用哪个class去写 - excelWriter = EasyExcel.write(fileName, DemoData.class).build(); + writer = EasyExcel.write(fileName, DemoData.class).build(); // 这里注意 如果同一个sheet只要创建一次 WriteSheet writeSheet = EasyExcel.writerSheet("模板").build(); // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来 for (int i = 0; i < 5; i++) { // 分页去数据库查询数据 这里可以去数据库查询每一页的数据 List data = data(); - excelWriter.write(data, writeSheet); + writer.write(data, writeSheet); } } finally { - // 千万别忘记finish 会帮忙关闭流 - if (excelWriter != null) { - excelWriter.finish(); + // 千万别忘记close 会帮忙关闭流 + if (writer != null) { + writer.finish(); + } + } + + // 方法2.1: 如果写到不同的sheet 同一个对象 使用 try-with-resources @since 3.1.0 + fileName = TestFileUtil.getPath() + "repeatedWrite" + System.currentTimeMillis() + ".xlsx"; + // 这里 指定文件 + try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) { + // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面 + for (int i = 0; i < 5; i++) { + // 每次都要创建writeSheet 这里注意必须指定sheetNo 而且sheetName必须不一样 + WriteSheet writeSheet = EasyExcel.writerSheet(i, "模板" + i).build(); + // 分页去数据库查询数据 这里可以去数据库查询每一页的数据 + List data = data(); + excelWriter.write(data, writeSheet); } } - // 方法2 如果写到不同的sheet 同一个对象 + // 方法2.2: 如果写到不同的sheet 同一个对象 不使用 try-with-resources fileName = TestFileUtil.getPath() + "repeatedWrite" + System.currentTimeMillis() + ".xlsx"; try { // 这里 指定文件 - excelWriter = EasyExcel.write(fileName, DemoData.class).build(); + writer = EasyExcel.write(fileName, DemoData.class).build(); // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面 for (int i = 0; i < 5; i++) { // 每次都要创建writeSheet 这里注意必须指定sheetNo 而且sheetName必须不一样 WriteSheet writeSheet = EasyExcel.writerSheet(i, "模板" + i).build(); // 分页去数据库查询数据 这里可以去数据库查询每一页的数据 List data = data(); - excelWriter.write(data, writeSheet); + writer.write(data, writeSheet); } } finally { - // 千万别忘记finish 会帮忙关闭流 - if (excelWriter != null) { - excelWriter.finish(); + // 千万别忘记close 会帮忙关闭流 + if (writer != null) { + writer.finish(); } } - // 方法3 如果写到不同的sheet 不同的对象 + // 方法3.1 如果写到不同的sheet 不同的对象 使用 try-with-resources @since 3.1.0 + fileName = TestFileUtil.getPath() + "repeatedWrite" + System.currentTimeMillis() + ".xlsx"; + // 这里 指定文件 + try (ExcelWriter excelWriter = EasyExcel.write(fileName).build()) { + // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面 + for (int i = 0; i < 5; i++) { + // 每次都要创建writeSheet 这里注意必须指定sheetNo 而且sheetName必须不一样。这里注意DemoData.class 可以每次都变,我这里为了方便 所以用的同一个class + // 实际上可以一直变 + WriteSheet writeSheet = EasyExcel.writerSheet(i, "模板" + i).head(DemoData.class).build(); + // 分页去数据库查询数据 这里可以去数据库查询每一页的数据 + List data = data(); + excelWriter.write(data, writeSheet); + } + } + + // 方法3.2 如果写到不同的sheet 不同的对象 不使用 try-with-resources fileName = TestFileUtil.getPath() + "repeatedWrite" + System.currentTimeMillis() + ".xlsx"; try { // 这里 指定文件 - excelWriter = EasyExcel.write(fileName).build(); + writer = EasyExcel.write(fileName).build(); // 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面 for (int i = 0; i < 5; i++) { // 每次都要创建writeSheet 这里注意必须指定sheetNo 而且sheetName必须不一样。这里注意DemoData.class 可以每次都变,我这里为了方便 所以用的同一个class @@ -230,12 +281,12 @@ public class WriteTest { WriteSheet writeSheet = EasyExcel.writerSheet(i, "模板" + i).head(DemoData.class).build(); // 分页去数据库查询数据 这里可以去数据库查询每一页的数据 List data = data(); - excelWriter.write(data, writeSheet); + writer.write(data, writeSheet); } } finally { - // 千万别忘记finish 会帮忙关闭流 - if (excelWriter != null) { - excelWriter.finish(); + // 千万别忘记close 会帮忙关闭流 + if (writer != null) { + writer.finish(); } } } @@ -269,7 +320,7 @@ public class WriteTest { String imagePath = TestFileUtil.getPath() + "converter" + File.separator + "img.jpg"; try (InputStream inputStream = FileUtils.openInputStream(new File(imagePath))) { - List list = ListUtils.newArrayList(); + List list = ListUtils.newArrayList(); ImageDemoData imageDemoData = new ImageDemoData(); list.add(imageDemoData); // 放入五种类型的图片 实际使用只要选一种即可 @@ -598,7 +649,21 @@ public class WriteTest { @Test public void tableWrite() { String fileName = TestFileUtil.getPath() + "tableWrite" + System.currentTimeMillis() + ".xlsx"; - // 这里直接写多个table的案例了,如果只有一个 也可以直一行代码搞定,参照其他案例 + // 方法1 这里直接写多个table的案例了,如果只有一个 也可以直一行代码搞定,参照其他案, 使用 try-with-resources @since 3.1.0 + // 这里 需要指定写用哪个class去写 + try (ExcelWriter excelWriter = EasyExcel.write(fileName, DemoData.class).build()) { + // 把sheet设置为不需要头 不然会输出sheet的头 这样看起来第一个table 就有2个头了 + WriteSheet writeSheet = EasyExcel.writerSheet("模板").needHead(Boolean.FALSE).build(); + // 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要 + WriteTable writeTable0 = EasyExcel.writerTable(0).needHead(Boolean.TRUE).build(); + WriteTable writeTable1 = EasyExcel.writerTable(1).needHead(Boolean.TRUE).build(); + // 第一次写入会创建头 + excelWriter.write(data(), writeSheet, writeTable0); + // 第二次写如也会创建头,然后在第一次的后面写入数据 + excelWriter.write(data(), writeSheet, writeTable1); + } + + // 方法2 这里直接写多个table的案例了,如果只有一个 也可以直一行代码搞定,参照其他案, 不使用 try-with-resources // 这里 需要指定写用哪个class去写 ExcelWriter excelWriter = null; try { @@ -613,9 +678,9 @@ public class WriteTest { // 第二次写如也会创建头,然后在第一次的后面写入数据 excelWriter.write(data(), writeSheet, writeTable1); } finally { - // 千万别忘记finish 会帮忙关闭流 + // 千万别忘记close 会帮忙关闭流 if (excelWriter != null) { - excelWriter.finish(); + excelWriter.close(); } } } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java index 3cc54749..77c1285e 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/simple/Wirte.java @@ -104,7 +104,7 @@ public class Wirte { // 第一次写入会创建头 excelWriter.write(data(), writeSheet, writeTable0); // 第二次写如也会创建头,然后在第一次的后面写入数据 - /// 千万别忘记finish 会帮忙关闭流 + /// 千万别忘记close 会帮忙关闭流 excelWriter.finish(); } diff --git a/update.md b/update.md index feb96f07..9d103df6 100644 --- a/update.md +++ b/update.md @@ -12,6 +12,7 @@ * 增加部分`xls`容错 [Issue #2236](https://github.com/alibaba/easyexcel/issues/2236) * 修复读取csv文件时`autoTrim`配置失效 [Issue #2227](https://github.com/alibaba/easyexcel/issues/2227) * csv支持设置读写编码 [Issue #2404](https://github.com/alibaba/easyexcel/issues/2404) +* 读写支持`不使用 try-with-resources`语法糖 # 3.0.5 From 1d90b575c115e35cc14c957ed517db43a4b42faa Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 16:57:59 +0800 Subject: [PATCH 65/68] =?UTF-8?q?*=20=E8=AF=BB=E5=86=99=E6=94=AF=E6=8C=81`?= =?UTF-8?q?try-with-resources`=E8=AF=AD=E6=B3=95=E7=B3=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- update.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update.md b/update.md index 9d103df6..f2bb7a64 100644 --- a/update.md +++ b/update.md @@ -12,7 +12,7 @@ * 增加部分`xls`容错 [Issue #2236](https://github.com/alibaba/easyexcel/issues/2236) * 修复读取csv文件时`autoTrim`配置失效 [Issue #2227](https://github.com/alibaba/easyexcel/issues/2227) * csv支持设置读写编码 [Issue #2404](https://github.com/alibaba/easyexcel/issues/2404) -* 读写支持`不使用 try-with-resources`语法糖 +* 读写支持`try-with-resources`语法糖 # 3.0.5 From b67f7d03d027ea7a964f542e15645ac3ec79168f Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 17:25:22 +0800 Subject: [PATCH 66/68] =?UTF-8?q?*=20=E8=AF=BB=E5=86=99=E6=94=AF=E6=8C=81`?= =?UTF-8?q?try-with-resources`=E8=AF=AD=E6=B3=95=E7=B3=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/alibaba/excel/ExcelReader.java | 6 +- .../java/com/alibaba/excel/ExcelWriter.java | 6 +- .../analysis/csv/CsvExcelReadExecutor.java | 6 +- .../analysis/v03/XlsListSheetListener.java | 2 +- .../excel/analysis/v03/XlsSaxAnalyser.java | 2 +- .../excel/analysis/v07/XlsxSaxAnalyser.java | 8 +- .../sax/SharedStringsTableHandler.java | 2 +- .../v07/handlers/sax/XlsxRowHandler.java | 2 +- .../com/alibaba/excel/cache/MapCache.java | 2 +- .../com/alibaba/excel/cache/XlsCache.java | 2 +- .../selector/SimpleReadCacheSelector.java | 4 +- .../excel/context/AnalysisContextImpl.java | 2 +- .../read/builder/ExcelReaderBuilder.java | 15 ++-- .../read/builder/ExcelReaderSheetBuilder.java | 2 +- .../holder/csv/CsvReadWorkbookHolder.java | 3 - .../alibaba/excel/write/ExcelBuilderImpl.java | 2 +- .../write/builder/ExcelWriterBuilder.java | 1 - .../builder/ExcelWriterSheetBuilder.java | 2 +- .../builder/ExcelWriterTableBuilder.java | 2 +- .../excel/write/merge/LoopMergeStrategy.java | 6 +- .../merge/OnceAbsoluteMergeStrategy.java | 8 +- .../SimpleColumnWidthStyleStrategy.java | 2 +- .../row/SimpleRowHeightStyleStrategy.java | 4 +- .../test/core/charset/CharsetDataTest.java | 9 --- .../core/converter/ConverterDataListener.java | 2 +- .../test/core/fill/FillDataTest.java | 67 +++++++++-------- .../annotation/FillAnnotationDataTest.java | 75 ++++++++++--------- .../test/core/large/LargeDataTest.java | 24 +++--- .../MultipleSheetsDataTest.java | 17 ++--- .../core/repetition/RepetitionDataTest.java | 32 ++++---- .../test/core/skip/SkipDataTest.java | 40 +++++----- .../easyexcel/test/demo/write/WriteTest.java | 6 +- .../easyexcel/test/temp/WriteLargeTest.java | 1 - .../test/temp/issue2443/Issue2443.java | 2 - 34 files changed, 174 insertions(+), 192 deletions(-) diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java index ab3f64a5..9508d941 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelReader.java @@ -1,7 +1,6 @@ package com.alibaba.excel; import java.io.Closeable; -import java.io.IOException; import java.util.Arrays; import java.util.List; @@ -12,9 +11,6 @@ import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.read.metadata.ReadSheet; import com.alibaba.excel.read.metadata.ReadWorkbook; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Excel readers are all read in event mode. * @@ -25,7 +21,7 @@ public class ExcelReader implements Closeable { /** * Analyser */ - private ExcelAnalyser excelAnalyser; + private final ExcelAnalyser excelAnalyser; public ExcelReader(ReadWorkbook readWorkbook) { excelAnalyser = new ExcelAnalyserImpl(readWorkbook); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java index 13e38d63..95d5446b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/ExcelWriter.java @@ -1,7 +1,6 @@ package com.alibaba.excel; import java.io.Closeable; -import java.io.IOException; import java.util.Collection; import java.util.function.Supplier; @@ -13,9 +12,6 @@ import com.alibaba.excel.write.metadata.WriteTable; import com.alibaba.excel.write.metadata.WriteWorkbook; import com.alibaba.excel.write.metadata.fill.FillConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - /** * Excel Writer This tool is used to write value out to Excel via POI. This object can perform the following two * functions. @@ -29,7 +25,7 @@ import org.slf4j.LoggerFactory; */ public class ExcelWriter implements Closeable { - private ExcelBuilder excelBuilder; + private final ExcelBuilder excelBuilder; /** * Create new writer diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java index 0f7f707a..a1b7625d 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/csv/CsvExcelReadExecutor.java @@ -1,7 +1,5 @@ package com.alibaba.excel.analysis.csv; -import java.io.FileInputStream; -import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.file.Files; @@ -38,8 +36,8 @@ import org.apache.commons.csv.CSVRecord; @Slf4j public class CsvExcelReadExecutor implements ExcelReadExecutor { - private List sheetList; - private CsvReadContext csvReadContext; + private final List sheetList; + private final CsvReadContext csvReadContext; public CsvExcelReadExecutor(CsvReadContext csvReadContext) { this.csvReadContext = csvReadContext; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java index cfdc6bee..14565e5e 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsListSheetListener.java @@ -25,7 +25,7 @@ import com.alibaba.excel.exception.ExcelAnalysisException; * @author Jiaju Zhuang */ public class XlsListSheetListener implements HSSFListener { - private XlsReadContext xlsReadContext; + private final XlsReadContext xlsReadContext; private static final Map XLS_RECORD_HANDLER_MAP = new HashMap(); static { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java index 422ad090..e1a303b1 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v03/XlsSaxAnalyser.java @@ -77,7 +77,7 @@ public class XlsSaxAnalyser implements HSSFListener, ExcelReadExecutor { private static final Logger LOGGER = LoggerFactory.getLogger(XlsSaxAnalyser.class); private static final short DUMMY_RECORD_SID = -1; - private XlsReadContext xlsReadContext; + private final XlsReadContext xlsReadContext; private static final Map XLS_RECORD_HANDLER_MAP = new HashMap(32); static { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java index 50bd55a7..38918fb8 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/XlsxSaxAnalyser.java @@ -52,13 +52,13 @@ import org.xml.sax.XMLReader; @Slf4j public class XlsxSaxAnalyser implements ExcelReadExecutor { - private XlsxReadContext xlsxReadContext; - private List sheetList; - private Map sheetMap; + private final XlsxReadContext xlsxReadContext; + private final List sheetList; + private final Map sheetMap; /** * excel comments key: sheetNo value: CommentsTable */ - private Map commentsTableMap; + private final Map commentsTableMap; public XlsxSaxAnalyser(XlsxReadContext xlsxReadContext, InputStream decryptedStream) throws Exception { this.xlsxReadContext = xlsxReadContext; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java index ea6ffc58..f4514e43 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/SharedStringsTableHandler.java @@ -27,7 +27,7 @@ public class SharedStringsTableHandler extends DefaultHandler { */ private StringBuilder currentElementData; - private ReadCache readCache; + private final ReadCache readCache; /** * Some fields in the T tag need to be ignored */ diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java index 869ef3cb..61805cd5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/analysis/v07/handlers/sax/XlsxRowHandler.java @@ -25,7 +25,7 @@ import org.xml.sax.helpers.DefaultHandler; */ @Slf4j public class XlsxRowHandler extends DefaultHandler { - private XlsxReadContext xlsxReadContext; + private final XlsxReadContext xlsxReadContext; private static final Map XLSX_CELL_HANDLER_MAP = new HashMap(32); static { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/cache/MapCache.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/MapCache.java index f83a1233..82ada960 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/cache/MapCache.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/cache/MapCache.java @@ -11,7 +11,7 @@ import com.alibaba.excel.context.AnalysisContext; * @author Jiaju Zhuang */ public class MapCache implements ReadCache { - private List cache = new ArrayList<>(); + private final List cache = new ArrayList<>(); @Override public void init(AnalysisContext analysisContext) {} diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/cache/XlsCache.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/XlsCache.java index 9e814e0f..261bc187 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/cache/XlsCache.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/cache/XlsCache.java @@ -11,7 +11,7 @@ import com.alibaba.excel.context.AnalysisContext; * @author Jiaju Zhuang */ public class XlsCache implements ReadCache { - private SSTRecord sstRecord; + private final SSTRecord sstRecord; public XlsCache(SSTRecord sstRecord) { this.sstRecord = sstRecord; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java b/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java index d7cedd07..658806bd 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/cache/selector/SimpleReadCacheSelector.java @@ -33,12 +33,12 @@ public class SimpleReadCacheSelector implements ReadCacheSelector { /** * Shared strings exceeding this value will use {@link Ehcache},or use {@link MapCache}.unit MB. */ - private long maxUseMapCacheSize; + private final long maxUseMapCacheSize; /** * Maximum size of cache activation.unit MB. */ - private int maxCacheActivateSize; + private final int maxCacheActivateSize; public SimpleReadCacheSelector() { this(DEFAULT_MAX_USE_MAP_CACHE_SIZE, DEFAULT_MAX_EHCACHE_ACTIVATE_SIZE); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java index 4edaef37..5385831b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/context/AnalysisContextImpl.java @@ -46,7 +46,7 @@ public class AnalysisContextImpl implements AnalysisContext { /** * Event processor */ - private AnalysisEventProcessor analysisEventProcessor; + private final AnalysisEventProcessor analysisEventProcessor; public AnalysisContextImpl(ReadWorkbook readWorkbook, ExcelTypeEnum actualExcelType) { if (readWorkbook == null) { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java index d3bf472b..d2a24b44 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderBuilder.java @@ -28,7 +28,7 @@ public class ExcelReaderBuilder extends AbstractExcelReaderParameterBuilder List doReadAllSync() { SyncReadListener syncReadListener = new SyncReadListener(); registerReadListener(syncReadListener); - ExcelReader excelReader = build(); - excelReader.readAll(); - excelReader.finish(); + try (ExcelReader excelReader = build()) { + excelReader.readAll(); + excelReader.finish(); + } return (List)syncReadListener.getList(); } diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java index 84ec6bae..4778169b 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/builder/ExcelReaderSheetBuilder.java @@ -18,7 +18,7 @@ public class ExcelReaderSheetBuilder extends AbstractExcelReaderParameterBuilder /** * Sheet */ - private ReadSheet readSheet; + private final ReadSheet readSheet; public ExcelReaderSheetBuilder() { this.readSheet = new ReadSheet(); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java index 5923403b..90ebe2b5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/read/metadata/holder/csv/CsvReadWorkbookHolder.java @@ -4,12 +4,9 @@ import com.alibaba.excel.read.metadata.ReadWorkbook; import com.alibaba.excel.read.metadata.holder.ReadWorkbookHolder; import com.alibaba.excel.support.ExcelTypeEnum; -import com.alibaba.excel.util.StringUtils; - import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; -import org.apache.commons.compress.utils.CharsetNames; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java index d6503c6c..67e2b9a2 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java @@ -22,7 +22,7 @@ import org.apache.poi.ss.util.CellRangeAddress; */ public class ExcelBuilderImpl implements ExcelBuilder { - private WriteContext context; + private final WriteContext context; private ExcelWriteFillExecutor excelWriteFillExecutor; private ExcelWriteAddExecutor excelWriteAddExecutor; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java index f90e6cd7..75d702f8 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterBuilder.java @@ -6,7 +6,6 @@ import java.io.OutputStream; import java.nio.charset.Charset; import com.alibaba.excel.ExcelWriter; -import com.alibaba.excel.read.builder.ExcelReaderBuilder; import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.write.metadata.WriteWorkbook; diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java index 111c54e1..b7fd6805 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterSheetBuilder.java @@ -18,7 +18,7 @@ public class ExcelWriterSheetBuilder extends AbstractExcelWriterParameterBuilder /** * Sheet */ - private WriteSheet writeSheet; + private final WriteSheet writeSheet; public ExcelWriterSheetBuilder() { this.writeSheet = new WriteSheet(); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java index 279ac30a..6574db04 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/builder/ExcelWriterTableBuilder.java @@ -21,7 +21,7 @@ public class ExcelWriterTableBuilder extends AbstractExcelWriterParameterBuilder /** * table */ - private WriteTable writeTable; + private final WriteTable writeTable; public ExcelWriterTableBuilder() { this.writeTable = new WriteTable(); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java index 961db51f..79db35b7 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/LoopMergeStrategy.java @@ -15,15 +15,15 @@ public class LoopMergeStrategy implements RowWriteHandler { /** * Each row */ - private int eachRow; + private final int eachRow; /** * Extend column */ - private int columnExtend; + private final int columnExtend; /** * The number of the current column */ - private int columnIndex; + private final int columnIndex; public LoopMergeStrategy(int eachRow, int columnIndex) { this(eachRow, 1, columnIndex); diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java index bd7b1836..273d8879 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/merge/OnceAbsoluteMergeStrategy.java @@ -16,19 +16,19 @@ public class OnceAbsoluteMergeStrategy implements SheetWriteHandler { /** * First row */ - private int firstRowIndex; + private final int firstRowIndex; /** * Last row */ - private int lastRowIndex; + private final int lastRowIndex; /** * First column */ - private int firstColumnIndex; + private final int firstColumnIndex; /** * Last row */ - private int lastColumnIndex; + private final int lastColumnIndex; public OnceAbsoluteMergeStrategy(int firstRowIndex, int lastRowIndex, int firstColumnIndex, int lastColumnIndex) { if (firstRowIndex < 0 || lastRowIndex < 0 || firstColumnIndex < 0 || lastColumnIndex < 0) { diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java index 316ff2c8..5db857d5 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/column/SimpleColumnWidthStyleStrategy.java @@ -8,7 +8,7 @@ import com.alibaba.excel.metadata.Head; * @author Jiaju Zhuang */ public class SimpleColumnWidthStyleStrategy extends AbstractHeadColumnWidthStyleStrategy { - private Integer columnWidth; + private final Integer columnWidth; /** * diff --git a/easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java index 313cf21c..028707f3 100644 --- a/easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java +++ b/easyexcel-core/src/main/java/com/alibaba/excel/write/style/row/SimpleRowHeightStyleStrategy.java @@ -8,8 +8,8 @@ import org.apache.poi.ss.usermodel.Row; * @author Jiaju Zhuang */ public class SimpleRowHeightStyleStrategy extends AbstractRowHeightStyleStrategy { - private Short headRowHeight; - private Short contentRowHeight; + private final Short headRowHeight; + private final Short contentRowHeight; public SimpleRowHeightStyleStrategy(Short headRowHeight, Short contentRowHeight) { this.headRowHeight = headRowHeight; diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/charset/CharsetDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/charset/CharsetDataTest.java index 7da5b311..7ac39173 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/charset/CharsetDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/charset/CharsetDataTest.java @@ -3,25 +3,16 @@ package com.alibaba.easyexcel.test.core.charset; import java.io.File; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.util.ArrayList; import java.util.List; import java.util.Map; -import com.alibaba.easyexcel.test.core.simple.SimpleData; -import com.alibaba.easyexcel.test.core.simple.SimpleDataListener; -import com.alibaba.easyexcel.test.demo.read.DemoData; import com.alibaba.easyexcel.test.util.TestFileUtil; import com.alibaba.excel.EasyExcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.metadata.data.ReadCellData; -import com.alibaba.excel.read.listener.PageReadListener; import com.alibaba.excel.read.listener.ReadListener; -import com.alibaba.excel.util.ConverterUtils; -import com.alibaba.excel.util.ListUtils; -import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.compress.utils.Charsets; import org.apache.commons.compress.utils.Lists; import org.junit.Assert; import org.junit.BeforeClass; diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java index 0a71d25a..fc353ba2 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/converter/ConverterDataListener.java @@ -21,7 +21,7 @@ import org.slf4j.LoggerFactory; */ public class ConverterDataListener extends AnalysisEventListener { private static final Logger LOGGER = LoggerFactory.getLogger(ConverterDataListener.class); - private List list = new ArrayList<>(); + private final List list = new ArrayList<>(); @Override public void invoke(ConverterReadData data, AnalysisContext context) { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java index e85d63a6..90772691 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/FillDataTest.java @@ -142,20 +142,20 @@ public class FillDataTest { } private void compositeFill(File file, File template) { - ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - - FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); - excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); - excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); - excelWriter.fill(new FillWrapper("data2", data()), writeSheet); - excelWriter.fill(new FillWrapper("data2", data()), writeSheet); - excelWriter.fill(new FillWrapper("data3", data()), writeSheet); - excelWriter.fill(new FillWrapper("data3", data()), writeSheet); - Map map = new HashMap(); - map.put("date", "2019年10月9日13:28:28"); - excelWriter.fill(map, writeSheet); - excelWriter.finish(); + try (ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); + excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); + excelWriter.fill(new FillWrapper("data1", data()), fillConfig, writeSheet); + excelWriter.fill(new FillWrapper("data2", data()), writeSheet); + excelWriter.fill(new FillWrapper("data2", data()), writeSheet); + excelWriter.fill(new FillWrapper("data3", data()), writeSheet); + excelWriter.fill(new FillWrapper("data3", data()), writeSheet); + Map map = new HashMap(); + map.put("date", "2019年10月9日13:28:28"); + excelWriter.fill(map, writeSheet); + } List list = EasyExcel.read(file).ignoreEmptyRow(false).sheet().headRowNumber(0).doReadSync(); Map map0 = (Map)list.get(0); @@ -167,15 +167,16 @@ public class FillDataTest { } private void horizontalFill(File file, File template) { - ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); - excelWriter.fill(data(), fillConfig, writeSheet); - excelWriter.fill(data(), fillConfig, writeSheet); - Map map = new HashMap(); - map.put("date", "2019年10月9日13:28:28"); - excelWriter.fill(map, writeSheet); - excelWriter.finish(); + try (ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + FillConfig fillConfig = FillConfig.builder().direction(WriteDirectionEnum.HORIZONTAL).build(); + excelWriter.fill(data(), fillConfig, writeSheet); + excelWriter.fill(data(), fillConfig, writeSheet); + Map map = new HashMap(); + map.put("date", "2019年10月9日13:28:28"); + excelWriter.fill(map, writeSheet); + excelWriter.finish(); + } List list = EasyExcel.read(file).sheet().headRowNumber(0).doReadSync(); Assert.assertEquals(list.size(), 5L); @@ -184,16 +185,16 @@ public class FillDataTest { } private void complexFill(File file, File template) { - ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().registerWriteHandler(new LoopMergeStrategy(2, 0)).build(); - FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); - excelWriter.fill(data(), fillConfig, writeSheet); - excelWriter.fill(data(), fillConfig, writeSheet); - Map map = new HashMap(); - map.put("date", "2019年10月9日13:28:28"); - map.put("total", 1000); - excelWriter.fill(map, writeSheet); - excelWriter.finish(); + try (ExcelWriter excelWriter = EasyExcel.write(file).withTemplate(template).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().registerWriteHandler(new LoopMergeStrategy(2, 0)).build(); + FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build(); + excelWriter.fill(data(), fillConfig, writeSheet); + excelWriter.fill(data(), fillConfig, writeSheet); + Map map = new HashMap(); + map.put("date", "2019年10月9日13:28:28"); + map.put("total", 1000); + excelWriter.fill(map, writeSheet); + } List list = EasyExcel.read(file).sheet().headRowNumber(3).doReadSync(); Assert.assertEquals(list.size(), 21L); Map map19 = (Map)list.get(19); diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java index 2106c0ef..8d1d56bc 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/fill/annotation/FillAnnotationDataTest.java @@ -61,46 +61,47 @@ public class FillAnnotationDataTest { private void readAndWrite(File file, File fileTemplate) throws Exception { EasyExcel.write().file(file).head(FillAnnotationData.class).withTemplate(fileTemplate).sheet().doFill(data()); - Workbook workbook = WorkbookFactory.create(file); - Sheet sheet = workbook.getSheetAt(0); + try (Workbook workbook = WorkbookFactory.create(file)) { + Sheet sheet = workbook.getSheetAt(0); - Row row1 = sheet.getRow(1); - Assert.assertEquals(2000, row1.getHeight(), 0); - Cell cell10 = row1.getCell(0); - Date date = cell10.getDateCellValue(); - Assert.assertEquals(DateUtils.parseDate("2020-01-01 01:01:01").getTime(), date.getTime()); - String dataFormatString = cell10.getCellStyle().getDataFormatString(); - Assert.assertEquals("yyyy年MM月dd日HH时mm分ss秒", dataFormatString); - Cell cell11 = row1.getCell(1); - Assert.assertEquals(99.99, cell11.getNumericCellValue(), 2); - boolean hasMerge = false; - for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { - if (mergedRegion.getFirstRow() == 1 && mergedRegion.getLastRow() == 1 - && mergedRegion.getFirstColumn() == 2 && mergedRegion.getLastColumn() == 3) { - hasMerge = true; + Row row1 = sheet.getRow(1); + Assert.assertEquals(2000, row1.getHeight(), 0); + Cell cell10 = row1.getCell(0); + Date date = cell10.getDateCellValue(); + Assert.assertEquals(DateUtils.parseDate("2020-01-01 01:01:01").getTime(), date.getTime()); + String dataFormatString = cell10.getCellStyle().getDataFormatString(); + Assert.assertEquals("yyyy年MM月dd日HH时mm分ss秒", dataFormatString); + Cell cell11 = row1.getCell(1); + Assert.assertEquals(99.99, cell11.getNumericCellValue(), 2); + boolean hasMerge = false; + for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { + if (mergedRegion.getFirstRow() == 1 && mergedRegion.getLastRow() == 1 + && mergedRegion.getFirstColumn() == 2 && mergedRegion.getLastColumn() == 3) { + hasMerge = true; + break; + } + } + Assert.assertTrue(hasMerge); + if (sheet instanceof XSSFSheet) { + XSSFSheet xssfSheet = (XSSFSheet)sheet; + List shapeList = xssfSheet.getDrawingPatriarch().getShapes(); + XSSFShape shape0 = shapeList.get(0); + Assert.assertTrue(shape0 instanceof XSSFPicture); + XSSFPicture picture0 = (XSSFPicture)shape0; + CTMarker ctMarker0 = picture0.getPreferredSize().getFrom(); + Assert.assertEquals(1, ctMarker0.getRow()); + Assert.assertEquals(4, ctMarker0.getCol()); + } else { + HSSFSheet hssfSheet = (HSSFSheet)sheet; + List shapeList = hssfSheet.getDrawingPatriarch().getChildren(); + HSSFShape shape0 = shapeList.get(0); + Assert.assertTrue(shape0 instanceof HSSFPicture); + HSSFPicture picture0 = (HSSFPicture)shape0; + HSSFClientAnchor anchor = (HSSFClientAnchor)picture0.getAnchor(); + Assert.assertEquals(1, anchor.getRow1()); + Assert.assertEquals(4, anchor.getCol1()); } } - Assert.assertTrue(hasMerge); - if (sheet instanceof XSSFSheet) { - XSSFSheet xssfSheet = (XSSFSheet)sheet; - List shapeList = xssfSheet.getDrawingPatriarch().getShapes(); - XSSFShape shape0 = shapeList.get(0); - Assert.assertTrue(shape0 instanceof XSSFPicture); - XSSFPicture picture0 = (XSSFPicture)shape0; - CTMarker ctMarker0 = picture0.getPreferredSize().getFrom(); - Assert.assertEquals(1, ctMarker0.getRow()); - Assert.assertEquals(4, ctMarker0.getCol()); - } else { - HSSFSheet hssfSheet = (HSSFSheet)sheet; - List shapeList = hssfSheet.getDrawingPatriarch().getChildren(); - HSSFShape shape0 = shapeList.get(0); - Assert.assertTrue(shape0 instanceof HSSFPicture); - HSSFPicture picture0 = (HSSFPicture)shape0; - HSSFClientAnchor anchor = (HSSFClientAnchor)picture0.getAnchor(); - Assert.assertEquals(1, anchor.getRow1()); - Assert.assertEquals(4, anchor.getCol1()); - } - } private List data() throws Exception { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java index c7f202e5..d8acbba5 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/large/LargeDataTest.java @@ -57,26 +57,26 @@ public class LargeDataTest { @Test public void t02Fill() { - ExcelWriter excelWriter = EasyExcel.write(fileFill07).withTemplate(template07).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - for (int j = 0; j < 5000; j++) { - excelWriter.fill(data(), writeSheet); - LOGGER.info("{} fill success.", j); + try (ExcelWriter excelWriter = EasyExcel.write(fileFill07).withTemplate(template07).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + for (int j = 0; j < 5000; j++) { + excelWriter.fill(data(), writeSheet); + LOGGER.info("{} fill success.", j); + } } - excelWriter.finish(); } @Test public void t03ReadAndWriteCsv() { // write long start = System.currentTimeMillis(); - ExcelWriter excelWriter = EasyExcel.write(fileCsv).build(); - WriteSheet writeSheet = EasyExcel.writerSheet().build(); - for (int j = 0; j < 5000; j++) { - excelWriter.write(data(), writeSheet); - LOGGER.info("{} write success.", j); + try (ExcelWriter excelWriter = EasyExcel.write(fileCsv).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet().build(); + for (int j = 0; j < 5000; j++) { + excelWriter.write(data(), writeSheet); + LOGGER.info("{} write success.", j); + } } - excelWriter.finish(); LOGGER.info("CSV large data total time spent:{}", System.currentTimeMillis() - start); // read diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java index c69e3ae4..b87decde 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/multiplesheets/MultipleSheetsDataTest.java @@ -15,7 +15,6 @@ import org.junit.Test; import org.junit.runners.MethodSorters; /** - * * @author Jiaju Zhuang */ @FixMethodOrder(MethodSorters.NAME_ASCENDING) @@ -52,15 +51,15 @@ public class MultipleSheetsDataTest { private void read(File file) { MultipleSheetsListener multipleSheetsListener = new MultipleSheetsListener(); - ExcelReader excelReader = EasyExcel.read(file, MultipleSheetsData.class, multipleSheetsListener).build(); - List sheets = excelReader.excelExecutor().sheetList(); - int count = 1; - for (ReadSheet readSheet : sheets) { - excelReader.read(readSheet); - Assert.assertEquals(multipleSheetsListener.getList().size(), count); - count++; + try (ExcelReader excelReader = EasyExcel.read(file, MultipleSheetsData.class, multipleSheetsListener).build()) { + List sheets = excelReader.excelExecutor().sheetList(); + int count = 1; + for (ReadSheet readSheet : sheets) { + excelReader.read(readSheet); + Assert.assertEquals(multipleSheetsListener.getList().size(), count); + count++; + } } - excelReader.finish(); } private void readAll(File file) { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java index 70acf19f..7314c67c 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/repetition/RepetitionDataTest.java @@ -56,12 +56,15 @@ public class RepetitionDataTest { } private void readAndWrite(File file) { - ExcelWriter excelWriter = EasyExcel.write(file, RepetitionData.class).build(); - WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); - excelWriter.write(data(), writeSheet).write(data(), writeSheet).finish(); - ExcelReader excelReader = EasyExcel.read(file, RepetitionData.class, new RepetitionDataListener()).build(); - ReadSheet readSheet = EasyExcel.readSheet(0).build(); - excelReader.read(readSheet).finish(); + try (ExcelWriter excelWriter = EasyExcel.write(file, RepetitionData.class).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); + excelWriter.write(data(), writeSheet).write(data(), writeSheet); + } + try (ExcelReader excelReader = EasyExcel.read(file, RepetitionData.class, new RepetitionDataListener()) + .build()) { + ReadSheet readSheet = EasyExcel.readSheet(0).build(); + excelReader.read(readSheet); + } } @Test @@ -80,13 +83,16 @@ public class RepetitionDataTest { } private void readAndWriteTable(File file) { - ExcelWriter excelWriter = EasyExcel.write(file, RepetitionData.class).build(); - WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); - WriteTable writeTable = EasyExcel.writerTable(0).relativeHeadRowIndex(0).build(); - excelWriter.write(data(), writeSheet, writeTable).write(data(), writeSheet, writeTable).finish(); - ExcelReader excelReader = EasyExcel.read(file, RepetitionData.class, new RepetitionDataListener()).build(); - ReadSheet readSheet = EasyExcel.readSheet(0).headRowNumber(2).build(); - excelReader.read(readSheet).finish(); + try (ExcelWriter excelWriter = EasyExcel.write(file, RepetitionData.class).build()) { + WriteSheet writeSheet = EasyExcel.writerSheet(0).build(); + WriteTable writeTable = EasyExcel.writerTable(0).relativeHeadRowIndex(0).build(); + excelWriter.write(data(), writeSheet, writeTable).write(data(), writeSheet, writeTable); + } + try (ExcelReader excelReader = EasyExcel.read(file, RepetitionData.class, new RepetitionDataListener()) + .build()) { + ReadSheet readSheet = EasyExcel.readSheet(0).headRowNumber(2).build(); + excelReader.read(readSheet); + } } private List data() { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java index ed9e84df..0d0777e2 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/core/skip/SkipDataTest.java @@ -53,32 +53,32 @@ public class SkipDataTest { } private void readAndWrite(File file) { - ExcelWriter excelWriter = EasyExcel.write(file, SimpleData.class).build(); - WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "第一个").build(); - WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "第二个").build(); - WriteSheet writeSheet2 = EasyExcel.writerSheet(2, "第三个").build(); - WriteSheet writeSheet3 = EasyExcel.writerSheet(3, "第四个").build(); - excelWriter.write(data("name1"), writeSheet0); - excelWriter.write(data("name2"), writeSheet1); - excelWriter.write(data("name3"), writeSheet2); - excelWriter.write(data("name4"), writeSheet3); - excelWriter.finish(); + try (ExcelWriter excelWriter = EasyExcel.write(file, SimpleData.class).build();) { + WriteSheet writeSheet0 = EasyExcel.writerSheet(0, "第一个").build(); + WriteSheet writeSheet1 = EasyExcel.writerSheet(1, "第二个").build(); + WriteSheet writeSheet2 = EasyExcel.writerSheet(2, "第三个").build(); + WriteSheet writeSheet3 = EasyExcel.writerSheet(3, "第四个").build(); + excelWriter.write(data("name1"), writeSheet0); + excelWriter.write(data("name2"), writeSheet1); + excelWriter.write(data("name3"), writeSheet2); + excelWriter.write(data("name4"), writeSheet3); + } List list = EasyExcel.read(file, SkipData.class, null).sheet("第二个").doReadSync(); Assert.assertEquals(1, list.size()); Assert.assertEquals("name2", list.get(0).getName()); SyncReadListener syncReadListener = new SyncReadListener(); - ExcelReader excelReader = EasyExcel.read(file, SkipData.class, null).registerReadListener(syncReadListener) - .build(); - ReadSheet readSheet1 = EasyExcel.readSheet("第二个").build(); - ReadSheet readSheet3 = EasyExcel.readSheet("第四个").build(); - excelReader.read(readSheet1, readSheet3); - List syncList = syncReadListener.getList(); - Assert.assertEquals(2, syncList.size()); - Assert.assertEquals("name2", ((SkipData)syncList.get(0)).getName()); - Assert.assertEquals("name4", ((SkipData)syncList.get(1)).getName()); - excelReader.finish(); + try (ExcelReader excelReader = EasyExcel.read(file, SkipData.class, null).registerReadListener(syncReadListener) + .build()) { + ReadSheet readSheet1 = EasyExcel.readSheet("第二个").build(); + ReadSheet readSheet3 = EasyExcel.readSheet("第四个").build(); + excelReader.read(readSheet1, readSheet3); + List syncList = syncReadListener.getList(); + Assert.assertEquals(2, syncList.size()); + Assert.assertEquals("name2", ((SkipData)syncList.get(0)).getName()); + Assert.assertEquals("name4", ((SkipData)syncList.get(1)).getName()); + } } private List data(String name) { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java index e3237053..f7d015ca 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java @@ -216,7 +216,7 @@ public class WriteTest { } finally { // 千万别忘记close 会帮忙关闭流 if (writer != null) { - writer.finish(); + writer.close(); } } @@ -250,7 +250,7 @@ public class WriteTest { } finally { // 千万别忘记close 会帮忙关闭流 if (writer != null) { - writer.finish(); + writer.close(); } } @@ -286,7 +286,7 @@ public class WriteTest { } finally { // 千万别忘记close 会帮忙关闭流 if (writer != null) { - writer.finish(); + writer.close(); } } } diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java index 23f623b6..aa772c20 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/WriteLargeTest.java @@ -28,7 +28,6 @@ import org.slf4j.LoggerFactory; public class WriteLargeTest { private static final Logger LOGGER = LoggerFactory.getLogger(WriteLargeTest.class); - private int i = 0; @Test public void test() throws Exception { diff --git a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java index 45309c9f..e5a87c5f 100644 --- a/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java +++ b/easyexcel-test/src/test/java/com/alibaba/easyexcel/test/temp/issue2443/Issue2443.java @@ -4,8 +4,6 @@ import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; -import java.util.Date; - @Getter @Setter @EqualsAndHashCode From 85086273bcc7e97f115c40fe7ba3521680680d67 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 17:47:58 +0800 Subject: [PATCH 67/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9javadoc=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/alibaba/excel/support/Empty.java | 9 +++++++++ .../java/com/alibaba/excel/support/package-info.java | 4 ---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 easyexcel-support/src/main/java/com/alibaba/excel/support/Empty.java delete mode 100644 easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java diff --git a/easyexcel-support/src/main/java/com/alibaba/excel/support/Empty.java b/easyexcel-support/src/main/java/com/alibaba/excel/support/Empty.java new file mode 100644 index 00000000..82d9b080 --- /dev/null +++ b/easyexcel-support/src/main/java/com/alibaba/excel/support/Empty.java @@ -0,0 +1,9 @@ +package com.alibaba.excel.support; + +/** + * empty + * + * @author Jiaju Zhuang + */ +public class Empty { +} diff --git a/easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java b/easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java deleted file mode 100644 index 35190378..00000000 --- a/easyexcel-support/src/main/java/com/alibaba/excel/support/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * - */ -package com.alibaba.excel.support; From ac83e4f6f72ae6b90640ca964534aec2c0c34836 Mon Sep 17 00:00:00 2001 From: Jiaju Zhuang Date: Thu, 12 May 2022 17:49:17 +0800 Subject: [PATCH 68/68] =?UTF-8?q?=E4=BF=AE=E6=94=B9javadoc=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E7=94=9F=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- easyexcel/src/main/java/com/alibaba/excel/Empty.java | 9 +++++++++ .../src/main/java/com/alibaba/excel/package-info.java | 4 ---- 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 easyexcel/src/main/java/com/alibaba/excel/Empty.java delete mode 100644 easyexcel/src/main/java/com/alibaba/excel/package-info.java diff --git a/easyexcel/src/main/java/com/alibaba/excel/Empty.java b/easyexcel/src/main/java/com/alibaba/excel/Empty.java new file mode 100644 index 00000000..7d936df0 --- /dev/null +++ b/easyexcel/src/main/java/com/alibaba/excel/Empty.java @@ -0,0 +1,9 @@ +package com.alibaba.excel; + +/** + * empty + * + * @author Jiaju Zhuang + */ +public class Empty { +} diff --git a/easyexcel/src/main/java/com/alibaba/excel/package-info.java b/easyexcel/src/main/java/com/alibaba/excel/package-info.java deleted file mode 100644 index 7b3933ee..00000000 --- a/easyexcel/src/main/java/com/alibaba/excel/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * - */ -package com.alibaba.excel;