Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xuri
excelize
提交
37c45758
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 搜索 >>
提交
37c45758
编写于
10月 31, 2016
作者:
A
ahmad
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
looping on row col functionality
上级
6185cd57
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
66 addition
and
0 deletion
+66
-0
rows.go
rows.go
+50
-0
sheet.go
sheet.go
+16
-0
test/Workbook1.xlsx
test/Workbook1.xlsx
+0
-0
test/Workbook_2.xlsx
test/Workbook_2.xlsx
+0
-0
test/Workbook_3.xlsx
test/Workbook_3.xlsx
+0
-0
未找到文件。
rows.go
0 → 100644
浏览文件 @
37c45758
package
excelize
import
(
"encoding/xml"
"strings"
"strconv"
)
// GetRows return all the rows in a sheet
func
(
f
*
File
)
GetRows
(
sheet
string
)
([]
xlsxRow
,
error
)
{
var
xlsx
xlsxWorksheet
name
:=
`xl/worksheets/`
+
strings
.
ToLower
(
sheet
)
+
`.xml`
err
:=
xml
.
Unmarshal
([]
byte
(
f
.
readXML
(
name
)),
&
xlsx
)
if
(
err
!=
nil
)
{
return
nil
,
err
}
rows
:=
xlsx
.
SheetData
.
Row
return
rows
,
nil
}
// readXMLSST read xmlSST simple function
func
readXMLSST
(
f
*
File
)
(
xlsxSST
,
error
)
{
shardStrings
:=
xlsxSST
{}
err
:=
xml
.
Unmarshal
([]
byte
(
f
.
readXML
(
`xl/sharedStrings.xml`
)),
&
shardStrings
)
return
shardStrings
,
err
}
// GetValueFrom return a value from a column/row cell,
// this function is inteded to be used with for range on rows
// an argument with the xlsx opened file
func
(
self
*
xlsxC
)
GetValueFrom
(
f
*
File
)
(
string
,
error
)
{
switch
self
.
T
{
case
"s"
:
xlsxSI
:=
0
xlsxSI
,
_
=
strconv
.
Atoi
(
self
.
V
)
d
,
err
:=
readXMLSST
(
f
)
if
(
err
!=
nil
)
{
return
""
,
err
}
return
d
.
SI
[
xlsxSI
]
.
T
,
nil
case
"str"
:
return
self
.
V
,
nil
default
:
return
self
.
V
,
nil
}
// switch
}
sheet.go
浏览文件 @
37c45758
...
...
@@ -185,6 +185,22 @@ func (f *File) SetActiveSheet(index int) {
return
}
func
(
f
*
File
)
GetColumnsLength
(
sheet
string
)
(
int
,
error
)
{
var
xlsx
xlsxWorksheet
name
:=
`xl/worksheets/`
+
strings
.
ToLower
(
sheet
)
+
`.xml`
err
:=
xml
.
Unmarshal
([]
byte
(
f
.
readXML
(
name
)),
&
xlsx
)
if
(
err
!=
nil
)
{
return
-
1
,
err
}
rows
:=
len
(
xlsx
.
SheetData
.
Row
)
return
rows
,
nil
}
// Replace xl/workbook.xml XML tags to self-closing for compatible Office Excel 2007.
func
workBookCompatibility
(
workbookMarshal
string
)
string
{
workbookMarshal
=
strings
.
Replace
(
workbookMarshal
,
`xmlns:relationships="http://schemas.openxmlformats.org/officeDocument/2006/relationships" relationships:id="`
,
`r:id="`
,
-
1
)
...
...
test/Workbook1.xlsx
浏览文件 @
37c45758
无法预览此类型文件
test/Workbook_2.xlsx
0 → 100644
浏览文件 @
37c45758
文件已添加
test/Workbook_3.xlsx
0 → 100644
浏览文件 @
37c45758
文件已添加
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录