Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
金手指1668
easyexcel
提交
98ec9f80
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,发现更多精彩内容 >>
提交
98ec9f80
编写于
5月 25, 2020
作者:
庄家钜
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
新增写入`class`和`list`同时传入 `field`数量不一致报错 #1333
上级
e9b90488
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
10 deletion
+20
-10
src/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java
.../alibaba/excel/write/property/ExcelWriteHeadProperty.java
+12
-8
src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java
...st/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java
+7
-2
update.md
update.md
+1
-0
未找到文件。
src/main/java/com/alibaba/excel/write/property/ExcelWriteHeadProperty.java
浏览文件 @
98ec9f80
...
...
@@ -39,6 +39,7 @@ import com.alibaba.excel.metadata.property.StyleProperty;
* @author jipengfei
*/
public
class
ExcelWriteHeadProperty
extends
ExcelHeadProperty
{
private
RowHeightProperty
headRowHeightProperty
;
private
RowHeightProperty
contentRowHeightProperty
;
private
OnceAbsoluteMergeProperty
onceAbsoluteMergeProperty
;
...
...
@@ -49,21 +50,24 @@ public class ExcelWriteHeadProperty extends ExcelHeadProperty {
return
;
}
this
.
headRowHeightProperty
=
RowHeightProperty
.
build
((
HeadRowHeight
)
headClazz
.
getAnnotation
(
HeadRowHeight
.
class
));
RowHeightProperty
.
build
((
HeadRowHeight
)
headClazz
.
getAnnotation
(
HeadRowHeight
.
class
));
this
.
contentRowHeightProperty
=
RowHeightProperty
.
build
((
ContentRowHeight
)
headClazz
.
getAnnotation
(
ContentRowHeight
.
class
));
RowHeightProperty
.
build
((
ContentRowHeight
)
headClazz
.
getAnnotation
(
ContentRowHeight
.
class
));
this
.
onceAbsoluteMergeProperty
=
OnceAbsoluteMergeProperty
.
build
((
OnceAbsoluteMerge
)
headClazz
.
getAnnotation
(
OnceAbsoluteMerge
.
class
));
OnceAbsoluteMergeProperty
.
build
((
OnceAbsoluteMerge
)
headClazz
.
getAnnotation
(
OnceAbsoluteMerge
.
class
));
ColumnWidth
parentColumnWidth
=
(
ColumnWidth
)
headClazz
.
getAnnotation
(
ColumnWidth
.
class
);
HeadStyle
parentHeadStyle
=
(
HeadStyle
)
headClazz
.
getAnnotation
(
HeadStyle
.
class
);
HeadFontStyle
parentHeadFontStyle
=
(
HeadFontStyle
)
headClazz
.
getAnnotation
(
HeadFontStyle
.
class
);
ContentStyle
parentContentStyle
=
(
ContentStyle
)
headClazz
.
getAnnotation
(
ContentStyle
.
class
);
ContentFontStyle
parentContentFontStyle
=
(
ContentFontStyle
)
headClazz
.
getAnnotation
(
ContentFontStyle
.
class
);
ColumnWidth
parentColumnWidth
=
(
ColumnWidth
)
headClazz
.
getAnnotation
(
ColumnWidth
.
class
);
HeadStyle
parentHeadStyle
=
(
HeadStyle
)
headClazz
.
getAnnotation
(
HeadStyle
.
class
);
HeadFontStyle
parentHeadFontStyle
=
(
HeadFontStyle
)
headClazz
.
getAnnotation
(
HeadFontStyle
.
class
);
ContentStyle
parentContentStyle
=
(
ContentStyle
)
headClazz
.
getAnnotation
(
ContentStyle
.
class
);
ContentFontStyle
parentContentFontStyle
=
(
ContentFontStyle
)
headClazz
.
getAnnotation
(
ContentFontStyle
.
class
);
for
(
Map
.
Entry
<
Integer
,
ExcelContentProperty
>
entry
:
getContentPropertyMap
().
entrySet
())
{
Integer
index
=
entry
.
getKey
();
ExcelContentProperty
excelContentPropertyData
=
entry
.
getValue
();
if
(
excelContentPropertyData
==
null
)
{
throw
new
IllegalArgumentException
(
"Passing in the class and list the head, the two must be the same size."
);
}
Field
field
=
excelContentPropertyData
.
getField
();
Head
headData
=
getHeadMap
().
get
(
index
);
ColumnWidth
columnWidth
=
field
.
getAnnotation
(
ColumnWidth
.
class
);
...
...
src/test/java/com/alibaba/easyexcel/test/temp/WriteV34Test.java
浏览文件 @
98ec9f80
...
...
@@ -54,7 +54,7 @@ public class WriteV34Test {
new
HorizontalCellStyleStrategy
(
headWriteCellStyle
,
contentWriteCellStyle
);
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
EasyExcel
.
write
(
fileName
).
head
(
head
()).
registerWriteHandler
(
horizontalCellStyleStrategy
).
sheet
(
"模板"
)
EasyExcel
.
write
(
fileName
,
DemoData
.
class
).
head
(
head
()).
registerWriteHandler
(
horizontalCellStyleStrategy
).
sheet
(
"模板"
)
.
doWrite
(
data
(
1
));
}
...
...
@@ -63,13 +63,18 @@ public class WriteV34Test {
List
<
List
<
String
>>
list
=
new
ArrayList
<
List
<
String
>>();
List
<
String
>
head0
=
new
ArrayList
<
String
>();
head0
.
add
(
"字符串"
+
System
.
currentTimeMillis
());
head0
.
add
(
"再找找"
);
List
<
String
>
head1
=
new
ArrayList
<
String
>();
head1
.
add
(
"数字"
+
System
.
currentTimeMillis
());
List
<
String
>
head2
=
new
ArrayList
<
String
>();
head2
.
add
(
"日期"
+
System
.
currentTimeMillis
());
List
<
String
>
head3
=
new
ArrayList
<
String
>();
head3
.
add
(
"日期"
+
System
.
currentTimeMillis
());
list
.
add
(
head0
);
list
.
add
(
head1
);
list
.
add
(
head2
);
list
.
add
(
head2
);
list
.
add
(
head3
);
return
list
;
}
...
...
update.md
浏览文件 @
98ec9f80
...
...
@@ -5,6 +5,7 @@
*
写入
`sheet`
不设置
`index`
和
`name`
默认不为0的问题
*
修复多个
`sheet`
不按照顺序写入 会乱序的bug
[
Issue #1332
](
https://github.com/alibaba/easyexcel/issues/1332
)
*
修改head是List时,内容单元格的样式不生效
[
Issue #1339
](
https://github.com/alibaba/easyexcel/issues/1339
)
*
新增写入
`class`
和
`list`
同时传入
`field`
数量不一致报错
[
Issue #1333
](
https://github.com/alibaba/easyexcel/issues/1333
)
# 2.2.3
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录