Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
金手指1668
easyexcel
提交
adae8d05
E
easyexcel
项目概览
金手指1668
/
easyexcel
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
easyexcel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
adae8d05
编写于
11月 07, 2019
作者:
庄家钜
提交者:
GitHub
11月 07, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #815 from alibaba/2.1.x
2.1.x
上级
6dcc85ff
67e4e10d
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
51 addition
and
8 deletion
+51
-8
pom.xml
pom.xml
+1
-1
src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java
src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java
+5
-2
src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java
.../alibaba/excel/write/executor/ExcelWriteFillExecutor.java
+3
-0
src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
...java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
+2
-0
src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java
...st/java/com/alibaba/easyexcel/test/temp/FillTempTest.java
+13
-4
src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java
.../java/com/alibaba/easyexcel/test/temp/fill/FillData2.java
+11
-0
src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java
...va/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java
+12
-0
update.md
update.md
+4
-1
未找到文件。
pom.xml
浏览文件 @
adae8d05
...
...
@@ -4,7 +4,7 @@
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.alibaba
</groupId>
<artifactId>
easyexcel
</artifactId>
<version>
2.1.
1
</version>
<version>
2.1.
2
</version>
<packaging>
jar
</packaging>
<name>
easyexcel
</name>
...
...
src/main/java/com/alibaba/excel/write/ExcelBuilderImpl.java
浏览文件 @
adae8d05
...
...
@@ -25,10 +25,13 @@ public class ExcelBuilderImpl implements ExcelBuilder {
private
ExcelWriteFillExecutor
excelWriteFillExecutor
;
private
ExcelWriteAddExecutor
excelWriteAddExecutor
;
static
{
// Create temporary cache directory at initialization time to avoid POI concurrent write bugs
FileUtils
.
createPoiFilesDirectory
();
}
public
ExcelBuilderImpl
(
WriteWorkbook
writeWorkbook
)
{
try
{
// Create temporary cache directory at initialization time to avoid POI concurrent write bugs
FileUtils
.
createPoiFilesDirectory
();
context
=
new
WriteContextImpl
(
writeWorkbook
);
}
catch
(
RuntimeException
e
)
{
finishOnException
();
...
...
src/main/java/com/alibaba/excel/write/executor/ExcelWriteFillExecutor.java
浏览文件 @
adae8d05
...
...
@@ -127,6 +127,9 @@ public class ExcelWriteFillExecutor extends AbstractExcelWriteExecutor {
if
(
collectionLastIndexMap
==
null
)
{
number
--;
}
if
(
number
<=
0
)
{
return
;
}
sheet
.
shiftRows
(
maxRowIndex
+
1
,
lastRowIndex
,
number
,
true
,
false
);
for
(
AnalysisCell
analysisCell
:
templateAnalysisCache
.
get
(
writeContext
.
writeSheetHolder
().
getSheetNo
()))
{
if
(
analysisCell
.
getRowIndex
()
>
maxRowIndex
)
{
...
...
src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java
浏览文件 @
adae8d05
...
...
@@ -73,6 +73,8 @@ public class WriteTest {
* 2. 根据自己或者排除自己需要的列
* <p>
* 3. 直接写即可
*
* @since 2.1.1
*/
@Test
public
void
excludeOrIncludeWrite
()
{
...
...
src/test/java/com/alibaba/easyexcel/test/temp/FillTempTest.java
浏览文件 @
adae8d05
package
com.alibaba.easyexcel.test.temp
;
import
java.io.File
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -10,12 +9,12 @@ import org.junit.Ignore;
import
org.junit.Test
;
import
com.alibaba.easyexcel.test.demo.fill.FillData
;
import
com.alibaba.easyexcel.test.temp.fill.FillData2
;
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.fill.FillConfig
;
import
com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy
;
/**
* 写的填充写法
...
...
@@ -46,7 +45,7 @@ public class FillTempTest {
// 如果数据量大 list不是最后一行 参照下一个
FillConfig
fillConfig
=
FillConfig
.
builder
().
forceNewRow
(
Boolean
.
TRUE
).
build
();
excelWriter
.
fill
(
data
(),
fillConfig
,
writeSheet
);
excelWriter
.
fill
(
data
(),
fillConfig
,
writeSheet
);
// excelWriter.fill(data2
(), fillConfig, writeSheet);
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
map
.
put
(
"date"
,
"2019年10月9日13:28:28"
);
map
.
put
(
"total"
,
1000
);
...
...
@@ -73,7 +72,7 @@ public class FillTempTest {
WriteSheet
writeSheet
=
EasyExcel
.
writerSheet
().
build
();
// 直接写入数据
excelWriter
.
fill
(
data
(),
writeSheet
);
excelWriter
.
fill
(
data
(),
writeSheet
);
excelWriter
.
fill
(
data
2
(),
writeSheet
);
// 写入list之前的数据
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
...
...
@@ -97,6 +96,16 @@ public class FillTempTest {
// 新建一个 然后一点点复制过来的方案,最后导致list需要新增行的时候,后面的列的数据没法后移,后续会继续想想解决方案
}
private
List
<
FillData2
>
data2
()
{
List
<
FillData2
>
list
=
new
ArrayList
<
FillData2
>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
FillData2
fillData
=
new
FillData2
();
list
.
add
(
fillData
);
fillData
.
setTest
(
"ttttttt"
+
i
);
}
return
list
;
}
private
List
<
FillData
>
data
()
{
List
<
FillData
>
list
=
new
ArrayList
<
FillData
>();
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
...
...
src/test/java/com/alibaba/easyexcel/test/temp/fill/FillData2.java
0 → 100644
浏览文件 @
adae8d05
package
com.alibaba.easyexcel.test.temp.fill
;
import
lombok.Data
;
/**
* @author Jiaju Zhuang
*/
@Data
public
class
FillData2
{
private
String
test
;
}
src/test/java/com/alibaba/easyexcel/test/temp/read/HeadReadTest.java
浏览文件 @
adae8d05
...
...
@@ -8,6 +8,7 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
com.alibaba.excel.EasyExcel
;
import
com.alibaba.excel.cache.Ehcache
;
/**
* 临时测试
...
...
@@ -25,4 +26,15 @@ public class HeadReadTest {
}
@Test
public
void
testCache
()
throws
Exception
{
File
file
=
new
File
(
"D:\\test\\headt1.xls"
);
EasyExcel
.
read
(
file
,
HeadReadData
.
class
,
new
HDListener
()).
readCache
(
new
Ehcache
(
20
)).
sheet
(
0
).
doRead
();
LOGGER
.
info
(
"------------------"
);
EasyExcel
.
read
(
file
,
HeadReadData
.
class
,
new
HDListener
()).
readCache
(
new
Ehcache
(
20
)).
sheet
(
0
).
doRead
();
LOGGER
.
info
(
"------------------"
);
EasyExcel
.
read
(
file
,
HeadReadData
.
class
,
new
HDListener
()).
readCache
(
new
Ehcache
(
20
)).
sheet
(
0
).
doRead
();
}
}
update.md
浏览文件 @
adae8d05
# 2.1.2
*
修复强制创建新行填充,只有一行数据会未填充的bug
# 2.1.1
*
发布正式版
*
修改map返回为LinkedHashMap
...
...
@@ -61,7 +64,7 @@
*
修复监听器转换异常会重复提示的bug
# 2.0.1
*
降级poi为3.1
.
7 兼容jdk6
*
降级poi为3.17 兼容jdk6
# 2.0.0
*
修复当cell为空可能会抛出空指针的bug
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录