summaryrefslogtreecommitdiff
path: root/sheetview.go
diff options
context:
space:
mode:
Diffstat (limited to 'sheetview.go')
-rw-r--r--sheetview.go79
1 files changed, 60 insertions, 19 deletions
diff --git a/sheetview.go b/sheetview.go
index 8ffc9bc..fa3cfdf 100644
--- a/sheetview.go
+++ b/sheetview.go
@@ -1,47 +1,68 @@
-// Copyright 2016 - 2019 The excelize Authors. All rights reserved. Use of
+// Copyright 2016 - 2020 The excelize Authors. All rights reserved. Use of
// this source code is governed by a BSD-style license that can be found in
// the LICENSE file.
//
// Package excelize providing a set of functions that allow you to write to
// and read from XLSX files. Support reads and writes XLSX file generated by
// Microsoft Excelâ„¢ 2007 and later. Support save file without losing original
-// charts of XLSX. This library needs Go version 1.8 or later.
+// charts of XLSX. This library needs Go version 1.10 or later.
package excelize
import "fmt"
-// SheetViewOption is an option of a view of a worksheet. See SetSheetViewOptions().
+// SheetViewOption is an option of a view of a worksheet. See
+// SetSheetViewOptions().
type SheetViewOption interface {
setSheetViewOption(view *xlsxSheetView)
}
-// SheetViewOptionPtr is a writable SheetViewOption. See GetSheetViewOptions().
+// SheetViewOptionPtr is a writable SheetViewOption. See
+// GetSheetViewOptions().
type SheetViewOptionPtr interface {
SheetViewOption
getSheetViewOption(view *xlsxSheetView)
}
type (
- // DefaultGridColor is a SheetViewOption.
+ // DefaultGridColor is a SheetViewOption. It specifies a flag indicating that
+ // the consuming application should use the default grid lines color (system
+ // dependent). Overrides any color specified in colorId.
DefaultGridColor bool
- // RightToLeft is a SheetViewOption.
+ // RightToLeft is a SheetViewOption. It specifies a flag indicating whether
+ // the sheet is in 'right to left' display mode. When in this mode, Column A
+ // is on the far right, Column B ;is one column left of Column A, and so on.
+ // Also, information in cells is displayed in the Right to Left format.
RightToLeft bool
- // ShowFormulas is a SheetViewOption.
+ // ShowFormulas is a SheetViewOption. It specifies a flag indicating whether
+ // this sheet should display formulas.
ShowFormulas bool
- // ShowGridLines is a SheetViewOption.
+ // ShowGridLines is a SheetViewOption. It specifies a flag indicating whether
+ // this sheet should display gridlines.
ShowGridLines bool
- // ShowRowColHeaders is a SheetViewOption.
+ // ShowRowColHeaders is a SheetViewOption. It specifies a flag indicating
+ // whether the sheet should display row and column headings.
ShowRowColHeaders bool
- // ZoomScale is a SheetViewOption.
+ // ZoomScale is a SheetViewOption. It specifies a window zoom magnification
+ // for current view representing percent values. This attribute is restricted
+ // to values ranging from 10 to 400. Horizontal & Vertical scale together.
ZoomScale float64
- // TopLeftCell is a SheetViewOption.
+ // TopLeftCell is a SheetViewOption. It specifies a location of the top left
+ // 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.
+ // 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
*/
@@ -89,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))
}
@@ -98,7 +127,7 @@ func (o *ShowRowColHeaders) getSheetViewOption(view *xlsxSheetView) {
}
func (o ZoomScale) setSheetViewOption(view *xlsxSheetView) {
- //This attribute is restricted to values ranging from 10 to 400.
+ // This attribute is restricted to values ranging from 10 to 400.
if float64(o) >= 10 && float64(o) <= 400 {
view.ZoomScale = float64(o)
}
@@ -126,17 +155,23 @@ func (f *File) getSheetView(sheetName string, viewIndex int) (*xlsxSheetView, er
return &(xlsx.SheetViews.SheetView[viewIndex]), err
}
-// SetSheetViewOptions sets sheet view options.
-// The viewIndex may be negative and if so is counted backward (-1 is the last view).
+// SetSheetViewOptions sets sheet view options. The viewIndex may be negative
+// and if so is counted backward (-1 is the last view).
//
// Available options:
+//
// DefaultGridColor(bool)
// RightToLeft(bool)
// ShowFormulas(bool)
// ShowGridLines(bool)
// ShowRowColHeaders(bool)
+// ZoomScale(float64)
+// TopLeftCell(string)
+//
// Example:
+//
// err = f.SetSheetViewOptions("Sheet1", -1, ShowGridLines(false))
+//
func (f *File) SetSheetViewOptions(name string, viewIndex int, opts ...SheetViewOption) error {
view, err := f.getSheetView(name, viewIndex)
if err != nil {
@@ -149,18 +184,24 @@ func (f *File) SetSheetViewOptions(name string, viewIndex int, opts ...SheetView
return nil
}
-// GetSheetViewOptions gets the value of sheet view options.
-// The viewIndex may be negative and if so is counted backward (-1 is the last view).
+// GetSheetViewOptions gets the value of sheet view options. The viewIndex may
+// be negative and if so is counted backward (-1 is the last view).
//
// Available options:
+//
// DefaultGridColor(bool)
// RightToLeft(bool)
// ShowFormulas(bool)
// ShowGridLines(bool)
// ShowRowColHeaders(bool)
+// ZoomScale(float64)
+// TopLeftCell(string)
+//
// Example:
+//
// var showGridLines excelize.ShowGridLines
// err = f.GetSheetViewOptions("Sheet1", -1, &showGridLines)
+//
func (f *File) GetSheetViewOptions(name string, viewIndex int, opts ...SheetViewOptionPtr) error {
view, err := f.getSheetView(name, viewIndex)
if err != nil {