Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xuri
excelize
提交
308776e3
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 搜索 >>
已验证
提交
308776e3
编写于
7月 30, 2017
作者:
xurime
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Optimize code, go test and godoc updated.
上级
1d54bd4d
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
25 addition
and
30 deletion
+25
-30
cell.go
cell.go
+16
-20
excelize_test.go
excelize_test.go
+4
-0
sheet.go
sheet.go
+1
-1
table.go
table.go
+4
-9
未找到文件。
cell.go
浏览文件 @
308776e3
...
...
@@ -215,34 +215,30 @@ func (f *File) SetCellFormula(sheet, axis, formula string) {
// style, _ := xlsx.NewStyle(`{"font":{"color":"#1265BE","underline":"single"}}`)
// xlsx.SetCellStyle("Sheet1", "A3", "A3", style)
//
// A this is another example for "Location"
// A this is another example for "Location"
:
//
// xlsx.SetCellHyperLink("Sheet1", "A3", "Sheet1!A40", "Location")
//
func
(
f
*
File
)
SetCellHyperLink
(
sheet
,
axis
,
link
,
linkType
string
)
{
xlsx
:=
f
.
workSheetReader
(
sheet
)
axis
=
f
.
mergeCellsParser
(
xlsx
,
axis
)
var
hyperlink
xlsxHyperlink
linkTypes
:=
map
[
string
]
xlsxHyperlink
{
"External"
:
{},
"Location"
:
{
Location
:
link
},
}
hyperlink
,
ok
:=
linkTypes
[
linkType
]
if
!
ok
||
axis
==
""
{
return
}
hyperlink
.
Ref
=
axis
if
linkType
==
"External"
{
rID
:=
f
.
addSheetRelationships
(
sheet
,
SourceRelationshipHyperLink
,
link
,
"External"
)
hyperlink
=
xlsxHyperlink
{
Ref
:
axis
,
RID
:
"rId"
+
strconv
.
Itoa
(
rID
),
}
}
else
if
linkType
==
"Location"
{
hyperlink
=
xlsxHyperlink
{
Ref
:
axis
,
Location
:
link
,
}
rID
:=
f
.
addSheetRelationships
(
sheet
,
SourceRelationshipHyperLink
,
link
,
linkType
)
hyperlink
.
RID
=
"rId"
+
strconv
.
Itoa
(
rID
)
}
if
hyperlink
.
Ref
==
""
{
panic
(
"linkType only support External and Location now"
)
}
else
if
xlsx
.
Hyperlinks
!=
nil
{
xlsx
.
Hyperlinks
.
Hyperlink
=
append
(
xlsx
.
Hyperlinks
.
Hyperlink
,
hyperlink
)
}
else
{
hyperlinks
:=
xlsxHyperlinks
{}
hyperlinks
.
Hyperlink
=
append
(
hyperlinks
.
Hyperlink
,
hyperlink
)
xlsx
.
Hyperlinks
=
&
hyperlinks
if
xlsx
.
Hyperlinks
==
nil
{
xlsx
.
Hyperlinks
=
&
xlsxHyperlinks
{}
}
xlsx
.
Hyperlinks
.
Hyperlink
=
append
(
xlsx
.
Hyperlinks
.
Hyperlink
,
hyperlink
)
}
// MergeCell provides function to merge cells by given coordinate area and sheet
...
...
excelize_test.go
浏览文件 @
308776e3
...
...
@@ -213,6 +213,10 @@ func TestSetCellHyperLink(t *testing.T) {
xlsx
.
SetCellHyperLink
(
"sheet1"
,
"B19"
,
"https://github.com/xuri/excelize"
,
"External"
)
// Test add first hyperlink in a work sheet.
xlsx
.
SetCellHyperLink
(
"sheet2"
,
"C1"
,
"https://github.com/xuri/excelize"
,
"External"
)
// Test add Location hyperlink in a work sheet.
xlsx
.
SetCellHyperLink
(
"sheet2"
,
"D6"
,
"Sheet1!D8"
,
"Location"
)
xlsx
.
SetCellHyperLink
(
"sheet2"
,
"C3"
,
"Sheet1!D8"
,
""
)
xlsx
.
SetCellHyperLink
(
"sheet2"
,
""
,
"Sheet1!D60"
,
"Location"
)
err
=
xlsx
.
Save
()
if
err
!=
nil
{
t
.
Log
(
err
)
...
...
sheet.go
浏览文件 @
308776e3
...
...
@@ -547,7 +547,7 @@ func parseFormatPanesSet(formatSet string) *formatPanes {
// | regions. In that case, this value specifies the right
// | pane.
//
//
Pane state type is restricted to the values supported currently listed in the following table:
// Pane state type is restricted to the values supported currently listed in the following table:
//
// Enumeration Value | Description
// --------------------------------+-------------------------------------------------------------
...
...
table.go
浏览文件 @
308776e3
...
...
@@ -88,16 +88,11 @@ func (f *File) addSheetTable(sheet string, rID int) {
table
:=
&
xlsxTablePart
{
RID
:
"rId"
+
strconv
.
Itoa
(
rID
),
}
if
xlsx
.
TableParts
!=
nil
{
xlsx
.
TableParts
.
Count
++
xlsx
.
TableParts
.
TableParts
=
append
(
xlsx
.
TableParts
.
TableParts
,
table
)
}
else
{
xlsx
.
TableParts
=
&
xlsxTableParts
{
Count
:
1
,
TableParts
:
[]
*
xlsxTablePart
{
table
},
}
if
xlsx
.
TableParts
==
nil
{
xlsx
.
TableParts
=
&
xlsxTableParts
{}
}
xlsx
.
TableParts
.
Count
++
xlsx
.
TableParts
.
TableParts
=
append
(
xlsx
.
TableParts
.
TableParts
,
table
)
}
// addTable provides function to add table by given sheet index, coordinate area
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录