summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sheetview.go16
-rw-r--r--sheetview_test.go14
-rw-r--r--xmlWorksheet.go2
3 files changed, 29 insertions, 3 deletions
diff --git a/sheetview.go b/sheetview.go
index 09f5789..8a5091f 100644
--- a/sheetview.go
+++ b/sheetview.go
@@ -51,14 +51,18 @@ type (
// visible cell Location of the top left visible cell in the bottom right
// pane (when in Left-to-Right mode).
TopLeftCell string
+ // ShowZeros is a SheetViewOption. It specifies a flag indicating
+ // whether to "show a zero in cells that have zero value".
+ // When using a formula to reference another cell which is empty, the referenced value becomes 0
+ // when the flag is true. (Default setting is true.)
+ ShowZeros bool
+
/* TODO
// ShowWhiteSpace is a SheetViewOption. It specifies a flag indicating
// whether page layout view shall display margins. False means do not display
// left, right, top (header), and bottom (footer) margins (even when there is
// data in the header or footer).
ShowWhiteSpace bool
- // ShowZeros is a SheetViewOption.
- ShowZeros bool
// WindowProtection is a SheetViewOption.
WindowProtection bool
*/
@@ -106,6 +110,14 @@ func (o *ShowGridLines) getSheetViewOption(view *xlsxSheetView) {
*o = ShowGridLines(defaultTrue(view.ShowGridLines)) // Excel default: true
}
+func (o ShowZeros) setSheetViewOption(view *xlsxSheetView) {
+ view.ShowZeros = boolPtr(bool(o))
+}
+
+func (o *ShowZeros) getSheetViewOption(view *xlsxSheetView) {
+ *o = ShowZeros(defaultTrue(view.ShowZeros)) // Excel default: true
+}
+
func (o ShowRowColHeaders) setSheetViewOption(view *xlsxSheetView) {
view.ShowRowColHeaders = boolPtr(bool(o))
}
diff --git a/sheetview_test.go b/sheetview_test.go
index 2e697b8..e45b8ce 100644
--- a/sheetview_test.go
+++ b/sheetview_test.go
@@ -95,6 +95,7 @@ func ExampleFile_GetSheetViewOptions() {
rightToLeft excelize.RightToLeft
showFormulas excelize.ShowFormulas
showGridLines excelize.ShowGridLines
+ showZeros excelize.ShowZeros
showRowColHeaders excelize.ShowRowColHeaders
zoomScale excelize.ZoomScale
topLeftCell excelize.TopLeftCell
@@ -105,6 +106,7 @@ func ExampleFile_GetSheetViewOptions() {
&rightToLeft,
&showFormulas,
&showGridLines,
+ &showZeros,
&showRowColHeaders,
&zoomScale,
&topLeftCell,
@@ -117,6 +119,7 @@ func ExampleFile_GetSheetViewOptions() {
fmt.Println("- rightToLeft:", rightToLeft)
fmt.Println("- showFormulas:", showFormulas)
fmt.Println("- showGridLines:", showGridLines)
+ fmt.Println("- showZeros:", showZeros)
fmt.Println("- showRowColHeaders:", showRowColHeaders)
fmt.Println("- zoomScale:", zoomScale)
fmt.Println("- topLeftCell:", `"`+topLeftCell+`"`)
@@ -137,8 +140,17 @@ func ExampleFile_GetSheetViewOptions() {
panic(err)
}
+ if err := f.SetSheetViewOptions(sheet, 0, excelize.ShowZeros(false)); err != nil {
+ panic(err)
+ }
+
+ if err := f.GetSheetViewOptions(sheet, 0, &showZeros); err != nil {
+ panic(err)
+ }
+
fmt.Println("After change:")
fmt.Println("- showGridLines:", showGridLines)
+ fmt.Println("- showZeros:", showZeros)
fmt.Println("- topLeftCell:", topLeftCell)
// Output:
@@ -147,11 +159,13 @@ func ExampleFile_GetSheetViewOptions() {
// - rightToLeft: false
// - showFormulas: false
// - showGridLines: true
+ // - showZeros: true
// - showRowColHeaders: true
// - zoomScale: 0
// - topLeftCell: ""
// After change:
// - showGridLines: false
+ // - showZeros: false
// - topLeftCell: B2
}
diff --git a/xmlWorksheet.go b/xmlWorksheet.go
index fa07974..c78d3ef 100644
--- a/xmlWorksheet.go
+++ b/xmlWorksheet.go
@@ -167,7 +167,7 @@ type xlsxSheetView struct {
ShowFormulas bool `xml:"showFormulas,attr,omitempty"`
ShowGridLines *bool `xml:"showGridLines,attr"`
ShowRowColHeaders *bool `xml:"showRowColHeaders,attr"`
- ShowZeros bool `xml:"showZeros,attr,omitempty"`
+ ShowZeros *bool `xml:"showZeros,attr,omitempty"`
RightToLeft bool `xml:"rightToLeft,attr,omitempty"`
TabSelected bool `xml:"tabSelected,attr,omitempty"`
ShowWhiteSpace *bool `xml:"showWhiteSpace,attr"`