From b1a4f9c4002ed46ca6d710f96cc2340be9dced72 Mon Sep 17 00:00:00 2001 From: zhuangjiaju Date: Thu, 4 Jul 2019 19:12:38 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E4=BF=AE=E6=94=B9readme=202.=20=E5=8A=A0?= =?UTF-8?q?=E5=85=A5travis=20ci?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis.yml | 3 +++ README.md | 19 +++++++++++++++---- img/readme/qq.jpg | Bin 46060 -> 0 bytes 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 .travis.yml delete mode 100644 img/readme/qq.jpg diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..a7329596 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,3 @@ +language: java +jdk: oraclejdk8 +script: "./mvnw install -B -V" \ No newline at end of file diff --git a/README.md b/README.md index f40f04bb..d57f83a7 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,17 @@ +

+

+ easyexcel + + + +

+

+

+ QQ群: 662022184 +

+ +---------------------------------- + # JAVA解析Excel工具easyexcel Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一些缺陷,比如07版Excel解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型转换的封装,让使用者更加简单方便 ## 相关文档 @@ -149,7 +163,4 @@ public class Down { 阿里巴巴新零售事业部--诚招JAVA资深开发、技术专家。有意向可以微信联系,简历可以发我邮箱jipengfei.jpf@alibaba-inc.com 或者加微信:18042000709 #### 微信 - - -#### QQ交流群 - + \ No newline at end of file diff --git a/img/readme/qq.jpg b/img/readme/qq.jpg deleted file mode 100644 index 50b453ca3b059f5bf407855ecaf6131144fc13a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46060 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