Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
此号慢热型
excelize
提交
8d6e431d
excelize
项目概览
此号慢热型
/
excelize
与 Fork 源项目一致
Fork自
xuri / excelize
通知
2
Star
0
Fork
0
代码
文件
提交
分支
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,发现更多精彩内容 >>
已验证
提交
8d6e431d
编写于
11月 28, 2019
作者:
xurime
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Resolve #521, fix missing elements when parsing
上级
7965e123
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
2 deletion
+20
-2
excelize.go
excelize.go
+1
-1
sheet.go
sheet.go
+1
-1
xmlWorksheet.go
xmlWorksheet.go
+18
-0
未找到文件。
excelize.go
浏览文件 @
8d6e431d
...
...
@@ -192,7 +192,7 @@ func (f *File) addRels(relPath, relType, target, targetMode string) int {
// Office Excel 2007.
func
replaceWorkSheetsRelationshipsNameSpaceBytes
(
workbookMarshal
[]
byte
)
[]
byte
{
var
oldXmlns
=
[]
byte
(
`<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
)
var
newXmlns
=
[]
byte
(
`<worksheet xr:uid="{00000000-0001-0000-0000-000000000000}" xmlns:x
r="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" mc:Ignorable="x14ac
xr xr2 xr3 xr6 xr10 x15" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mx="http://schemas.microsoft.com/office/mac/excel/2008/main" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
)
var
newXmlns
=
[]
byte
(
`<worksheet xr:uid="{00000000-0001-0000-0000-000000000000}" xmlns:x
dr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" mc:Ignorable="x14ac xdr
xr xr2 xr3 xr6 xr10 x15" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mx="http://schemas.microsoft.com/office/mac/excel/2008/main" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
)
workbookMarshal
=
bytes
.
Replace
(
workbookMarshal
,
oldXmlns
,
newXmlns
,
-
1
)
return
workbookMarshal
}
...
...
sheet.go
浏览文件 @
8d6e431d
...
...
@@ -207,7 +207,7 @@ func replaceRelationshipsBytes(content []byte) []byte {
// a horrible hack to fix that after the XML marshalling is completed.
func
replaceRelationshipsNameSpaceBytes
(
workbookMarshal
[]
byte
)
[]
byte
{
oldXmlns
:=
[]
byte
(
`<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
)
newXmlns
:=
[]
byte
(
`<workbook xr:uid="{00000000-0001-0000-0000-000000000000}" xmlns:x
r="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" mc:Ignorable="x14ac
xr xr2 xr3 xr6 xr10 x15" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mx="http://schemas.microsoft.com/office/mac/excel/2008/main" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
)
newXmlns
:=
[]
byte
(
`<workbook xr:uid="{00000000-0001-0000-0000-000000000000}" xmlns:x
dr="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" mc:Ignorable="x14ac xdr
xr xr2 xr3 xr6 xr10 x15" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mx="http://schemas.microsoft.com/office/mac/excel/2008/main" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
)
return
bytes
.
Replace
(
workbookMarshal
,
oldXmlns
,
newXmlns
,
-
1
)
}
...
...
xmlWorksheet.go
浏览文件 @
8d6e431d
...
...
@@ -22,8 +22,13 @@ type xlsxWorksheet struct {
SheetFormatPr
*
xlsxSheetFormatPr
`xml:"sheetFormatPr"`
Cols
*
xlsxCols
`xml:"cols,omitempty"`
SheetData
xlsxSheetData
`xml:"sheetData"`
SheetCalcPr
*
xlsxInnerXML
`xml:"sheetCalcPr"`
SheetProtection
*
xlsxSheetProtection
`xml:"sheetProtection"`
ProtectedRanges
*
xlsxInnerXML
`xml:"protectedRanges"`
Scenarios
*
xlsxInnerXML
`xml:"scenarios"`
AutoFilter
*
xlsxAutoFilter
`xml:"autoFilter"`
SortState
*
xlsxInnerXML
`xml:"sortState"`
DataConsolidate
*
xlsxInnerXML
`xml:"dataConsolidate"`
CustomSheetViews
*
xlsxCustomSheetViews
`xml:"customSheetViews"`
MergeCells
*
xlsxMergeCells
`xml:"mergeCells"`
PhoneticPr
*
xlsxPhoneticPr
`xml:"phoneticPr"`
...
...
@@ -36,9 +41,18 @@ type xlsxWorksheet struct {
HeaderFooter
*
xlsxHeaderFooter
`xml:"headerFooter"`
RowBreaks
*
xlsxBreaks
`xml:"rowBreaks"`
ColBreaks
*
xlsxBreaks
`xml:"colBreaks"`
CustomProperties
*
xlsxInnerXML
`xml:"customProperties"`
CellWatches
*
xlsxInnerXML
`xml:"cellWatches"`
IgnoredErrors
*
xlsxInnerXML
`xml:"ignoredErrors"`
SmartTags
*
xlsxInnerXML
`xml:"smartTags"`
Drawing
*
xlsxDrawing
`xml:"drawing"`
LegacyDrawing
*
xlsxLegacyDrawing
`xml:"legacyDrawing"`
LegacyDrawingHF
*
xlsxInnerXML
`xml:"legacyDrawingHF"`
DrawingHF
*
xlsxDrawingHF
`xml:"drawingHF"`
Picture
*
xlsxPicture
`xml:"picture"`
OleObjects
*
xlsxInnerXML
`xml:"oleObjects"`
Controls
*
xlsxInnerXML
`xml:"controls"`
WebPublishItems
*
xlsxInnerXML
`xml:"webPublishItems"`
TableParts
*
xlsxTableParts
`xml:"tableParts"`
ExtLst
*
xlsxExtLst
`xml:"extLst"`
}
...
...
@@ -631,6 +645,10 @@ type xlsxLegacyDrawing struct {
RID
string
`xml:"http://schemas.openxmlformats.org/officeDocument/2006/relationships id,attr,omitempty"`
}
type
xlsxInnerXML
struct
{
Content
string
`xml:",innerxml"`
}
// xlsxWorksheetExt directly maps the ext element in the worksheet.
type
xlsxWorksheetExt
struct
{
XMLName
xml
.
Name
`xml:"ext"`
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录