Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
苏木力格
easyexcel
提交
b28a117e
E
easyexcel
项目概览
苏木力格
/
easyexcel
与 Fork 源项目一致
从无法访问的项目Fork
通知
7
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,发现更多精彩内容 >>
提交
b28a117e
编写于
11月 14, 2018
作者:
J
jipengfei.jpf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复表头问题
上级
19ebaf21
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
16 deletion
+17
-16
src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java
...in/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java
+2
-3
src/main/java/com/alibaba/excel/metadata/ExcelHeadProperty.java
...in/java/com/alibaba/excel/metadata/ExcelHeadProperty.java
+15
-13
未找到文件。
src/main/java/com/alibaba/excel/analysis/ExcelAnalyserImpl.java
浏览文件 @
b28a117e
...
...
@@ -28,7 +28,6 @@ public class ExcelAnalyserImpl implements ExcelAnalyser {
eventListener
,
trim
);
}
private
BaseSaxAnalyser
getSaxAnalyser
()
{
if
(
saxAnalyser
!=
null
)
{
return
this
.
saxAnalyser
;
...
...
@@ -50,14 +49,14 @@ public class ExcelAnalyserImpl implements ExcelAnalyser {
if
(!
analysisContext
.
getInputStream
().
markSupported
())
{
throw
new
ExcelAnalysisException
(
"Xls must be available markSupported,you can do like this <code> new "
+
"BufferedInputStream(new FileInputStream(\"/xxxx
/xxx/77.xlsx
\"))</code> "
);
+
"BufferedInputStream(new FileInputStream(\"/xxxx\"))</code> "
);
}
this
.
saxAnalyser
=
new
XlsSaxAnalyser
(
analysisContext
);
}
}
}
catch
(
Exception
e
)
{
throw
new
ExcelAnalysisException
(
"File type error,io must be available markSupported,you can do like "
+
"this <code> new BufferedInputStream(new FileInputStream(\\\"/xxxx
/xxx/77.xlsx
\\\"))</code> \""
,
e
);
+
"this <code> new BufferedInputStream(new FileInputStream(\\\"/xxxx\\\"))</code> \""
,
e
);
}
return
this
.
saxAnalyser
;
}
...
...
src/main/java/com/alibaba/excel/metadata/ExcelHeadProperty.java
浏览文件 @
b28a117e
...
...
@@ -46,11 +46,12 @@ public class ExcelHeadProperty {
if
(
this
.
headClazz
!=
null
)
{
List
<
Field
>
fieldList
=
new
ArrayList
<
Field
>();
Class
tempClass
=
this
.
headClazz
;
//当父类为null的时候说明到达了最上层的父类(Object类).
//When the parent class is null, it indicates that the parent class (Object class) has reached the top
// level.
while
(
tempClass
!=
null
)
{
fieldList
.
addAll
(
Arrays
.
asList
(
tempClass
.
getDeclaredFields
()));
fieldList
.
addAll
(
Arrays
.
asList
(
tempClass
.
getDeclaredFields
()));
//Get the parent class and give it to yourself
tempClass
=
tempClass
.
getSuperclass
();
//得到父类,然后赋给自己
}
List
<
List
<
String
>>
headList
=
new
ArrayList
<
List
<
String
>>();
for
(
Field
f
:
fieldList
)
{
...
...
@@ -187,19 +188,20 @@ public class ExcelHeadProperty {
* @return the last consecutive string position
*/
private
int
getLastRangNum
(
int
j
,
String
value
,
List
<
String
>
values
)
{
int
lastRow
=
-
1
;
if
(
StringUtils
.
isEmpty
(
value
))
{
if
(
value
==
null
)
{
return
-
1
;
}
for
(
int
i
=
0
;
i
<
values
.
size
();
i
++)
{
if
(
j
>
0
)
{
String
preValue
=
values
.
get
(
j
-
1
);
if
(
value
.
equals
(
preValue
))
{
return
-
1
;
}
}
int
last
=
j
;
for
(
int
i
=
last
+
1
;
i
<
values
.
size
();
i
++)
{
String
current
=
values
.
get
(
i
);
if
(
value
.
equals
(
current
))
{
if
(
i
>=
j
)
{
lastRow
=
i
;
}
else
{
//if i<j && value.equals(current) Indicates that a merger has occurred
return
-
1
;
}
last
=
i
;
}
else
{
// if i>j && !value.equals(current) Indicates that the continuous range is exceeded
if
(
i
>
j
)
{
...
...
@@ -207,7 +209,7 @@ public class ExcelHeadProperty {
}
}
}
return
last
Row
;
return
last
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录