Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xuri
excelize
提交
855c3605
excelize
项目概览
xuri
/
excelize
通知
13
Star
2
Fork
4
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
excelize
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
已验证
提交
855c3605
编写于
7月 20, 2019
作者:
xurime
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #437, recalculate offset for merged cells adjuster
上级
4f469530
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
2 deletion
+6
-2
adjust.go
adjust.go
+6
-2
未找到文件。
adjust.go
浏览文件 @
855c3605
...
...
@@ -231,7 +231,8 @@ func (f *File) adjustMergeCells(xlsx *xlsxWorksheet, dir adjustDirection, num, o
return
nil
}
for
i
,
areaData
:=
range
xlsx
.
MergeCells
.
Cells
{
for
i
:=
0
;
i
<
len
(
xlsx
.
MergeCells
.
Cells
);
i
++
{
areaData
:=
xlsx
.
MergeCells
.
Cells
[
i
]
coordinates
,
err
:=
f
.
areaRefToCoordinates
(
areaData
.
Ref
)
if
err
!=
nil
{
return
err
...
...
@@ -240,18 +241,21 @@ func (f *File) adjustMergeCells(xlsx *xlsxWorksheet, dir adjustDirection, num, o
if
dir
==
rows
{
if
y1
==
num
&&
y2
==
num
&&
offset
<
0
{
f
.
deleteMergeCell
(
xlsx
,
i
)
i
--
}
y1
=
f
.
adjustMergeCellsHelper
(
y1
,
num
,
offset
)
y2
=
f
.
adjustMergeCellsHelper
(
y2
,
num
,
offset
)
}
else
{
if
x1
==
num
&&
x2
==
num
&&
offset
<
0
{
f
.
deleteMergeCell
(
xlsx
,
i
)
i
--
}
x1
=
f
.
adjustMergeCellsHelper
(
x1
,
num
,
offset
)
x2
=
f
.
adjustMergeCellsHelper
(
x2
,
num
,
offset
)
}
if
x1
==
x2
&&
y1
==
y2
{
f
.
deleteMergeCell
(
xlsx
,
i
)
i
--
}
if
areaData
.
Ref
,
err
=
f
.
coordinatesToAreaRef
([]
int
{
x1
,
y1
,
x2
,
y2
});
err
!=
nil
{
return
err
...
...
@@ -276,7 +280,7 @@ func (f *File) adjustMergeCellsHelper(pivot, num, offset int) int {
// deleteMergeCell provides a function to delete merged cell by given index.
func
(
f
*
File
)
deleteMergeCell
(
sheet
*
xlsxWorksheet
,
idx
int
)
{
if
len
(
sheet
.
MergeCells
.
Cells
)
>
1
{
if
len
(
sheet
.
MergeCells
.
Cells
)
>
idx
{
sheet
.
MergeCells
.
Cells
=
append
(
sheet
.
MergeCells
.
Cells
[
:
idx
],
sheet
.
MergeCells
.
Cells
[
idx
+
1
:
]
...
)
sheet
.
MergeCells
.
Count
=
len
(
sheet
.
MergeCells
.
Cells
)
}
else
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录