summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--excelize.go2
-rw-r--r--xmlWorkbook.go71
-rw-r--r--xmlWorksheet.go2
3 files changed, 61 insertions, 14 deletions
diff --git a/excelize.go b/excelize.go
index 6b22385..b3abc30 100644
--- a/excelize.go
+++ b/excelize.go
@@ -135,7 +135,7 @@ func checkSheet(xlsx *xlsxWorksheet) {
// Office Excel 2007.
func replaceWorkSheetsRelationshipsNameSpace(workbookMarshal string) string {
oldXmlns := `<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">`
- newXmlns := `<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mx="http://schemas.microsoft.com/office/mac/excel/2008/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:mv="urn:schemas-microsoft-com:mac:vml" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xm="http://schemas.microsoft.com/office/excel/2006/main">`
+ newXmlns := `<worksheet xr:uid="{00000000-0001-0000-0000-000000000000}" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:x14="http://schemas.microsoft.com/office/spreadsheetml/2009/9/main" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" mc:Ignorable="x14ac xr xr2 xr3" 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 = strings.Replace(workbookMarshal, oldXmlns, newXmlns, -1)
return workbookMarshal
}
diff --git a/xmlWorkbook.go b/xmlWorkbook.go
index b04b173..816d5a4 100644
--- a/xmlWorkbook.go
+++ b/xmlWorkbook.go
@@ -20,18 +20,19 @@ type xlsxWorkbookRelation struct {
// http://schemas.openxmlformats.org/spreadsheetml/2006/main - currently I have
// not checked it for completeness - it does as much as I need.
type xlsxWorkbook struct {
- XMLName xml.Name `xml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main workbook"`
- FileVersion *xlsxFileVersion `xml:"fileVersion"`
- WorkbookPr *xlsxWorkbookPr `xml:"workbookPr"`
- WorkbookProtection *xlsxWorkbookProtection `xml:"workbookProtection"`
- BookViews xlsxBookViews `xml:"bookViews"`
- Sheets xlsxSheets `xml:"sheets"`
- ExternalReferences *xlsxExternalReferences `xml:"externalReferences"`
- DefinedNames *xlsxDefinedNames `xml:"definedNames"`
- CalcPr *xlsxCalcPr `xml:"calcPr"`
- PivotCaches *xlsxPivotCaches `xml:"pivotCaches"`
- ExtLst *xlsxExtLst `xml:"extLst"`
- FileRecoveryPr *xlsxFileRecoveryPr `xml:"fileRecoveryPr"`
+ XMLName xml.Name `xml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main workbook"`
+ FileVersion *xlsxFileVersion `xml:"fileVersion"`
+ WorkbookPr *xlsxWorkbookPr `xml:"workbookPr"`
+ WorkbookProtection *xlsxWorkbookProtection `xml:"workbookProtection"`
+ BookViews xlsxBookViews `xml:"bookViews"`
+ Sheets xlsxSheets `xml:"sheets"`
+ ExternalReferences *xlsxExternalReferences `xml:"externalReferences"`
+ DefinedNames *xlsxDefinedNames `xml:"definedNames"`
+ CalcPr *xlsxCalcPr `xml:"calcPr"`
+ CustomWorkbookViews *xlsxCustomWorkbookViews `xml:"customWorkbookViews"`
+ PivotCaches *xlsxPivotCaches `xml:"pivotCaches"`
+ ExtLst *xlsxExtLst `xml:"extLst"`
+ FileRecoveryPr *xlsxFileRecoveryPr `xml:"fileRecoveryPr"`
}
// xlsxFileRecoveryPr maps sheet recovery information. This element defines
@@ -233,3 +234,49 @@ type xlsxCalcPr struct {
IterateDelta float64 `xml:"iterateDelta,attr,omitempty"`
RefMode string `xml:"refMode,attr,omitempty"`
}
+
+// xlsxCustomWorkbookViews defines the collection of custom workbook views that
+// are defined for this workbook. A customWorkbookView is similar in concept to
+// a workbookView in that its attributes contain settings related to the way
+// that the workbook should be displayed on a screen by a spreadsheet
+// application.
+type xlsxCustomWorkbookViews struct {
+ CustomWorkbookView []xlsxCustomWorkbookView `xml:"customWorkbookView"`
+}
+
+// xlsxCustomWorkbookView directly maps the customWorkbookView element. This
+// element specifies a single custom workbook view. A custom workbook view
+// consists of a set of display and print settings that you can name and apply
+// to a workbook. You can create more than one custom workbook view of the same
+// workbook. Custom Workbook Views are not required in order to construct a
+// valid SpreadsheetML document, and are not necessary if the document is never
+// displayed by a spreadsheet application, or if the spreadsheet application has
+// a fixed display for workbooks. However, if a spreadsheet application chooses
+// to implement configurable display modes, the customWorkbookView element
+// should be used to persist the settings for those display modes.
+type xlsxCustomWorkbookView struct {
+ ActiveSheetID *int `xml:"activeSheetId,attr"`
+ AutoUpdate *bool `xml:"autoUpdate,attr"`
+ ChangesSavedWin *bool `xml:"changesSavedWin,attr"`
+ GUID *string `xml:"guid,attr"`
+ IncludeHiddenRowCol *bool `xml:"includeHiddenRowCol,attr"`
+ IncludePrintSettings *bool `xml:"includePrintSettings,attr"`
+ Maximized *bool `xml:"maximized,attr"`
+ MergeInterval int `xml:"mergeInterval,attr"`
+ Minimized *bool `xml:"minimized,attr"`
+ Name *string `xml:"name,attr"`
+ OnlySync *bool `xml:"onlySync,attr"`
+ PersonalView *bool `xml:"personalView,attr"`
+ ShowComments *string `xml:"showComments,attr"`
+ ShowFormulaBar *bool `xml:"showFormulaBar,attr"`
+ ShowHorizontalScroll *bool `xml:"showHorizontalScroll,attr"`
+ ShowObjects *string `xml:"showObjects,attr"`
+ ShowSheetTabs *bool `xml:"showSheetTabs,attr"`
+ ShowStatusbar *bool `xml:"showStatusbar,attr"`
+ ShowVerticalScroll *bool `xml:"showVerticalScroll,attr"`
+ TabRatio *int `xml:"tabRatio,attr"`
+ WindowHeight *int `xml:"windowHeight,attr"`
+ WindowWidth *int `xml:"windowWidth,attr"`
+ XWindow *int `xml:"xWindow,attr"`
+ YWindow *int `xml:"yWindow,attr"`
+}
diff --git a/xmlWorksheet.go b/xmlWorksheet.go
index 22feca8..9b46a28 100644
--- a/xmlWorksheet.go
+++ b/xmlWorksheet.go
@@ -358,7 +358,7 @@ type xlsxSheetProtection struct {
// properties specify how to display that phonetic run.
type xlsxPhoneticPr struct {
Alignment string `xml:"alignment,attr,omitempty"`
- FontID int `xml:"fontId,attr,omitempty"`
+ FontID *int `xml:"fontId,attr"`
Type string `xml:"type,attr,omitempty"`
}