From 862dc9dc1324e11a517b03267d07dd95051d5e6e Mon Sep 17 00:00:00 2001 From: David Date: Fri, 4 Feb 2022 01:45:42 -0400 Subject: [PATCH] Support workbook views settings (#1136) --- sheetview.go | 14 +++++++++++++- sheetview_test.go | 3 +++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/sheetview.go b/sheetview.go index 7184a7a..0fb955d 100644 --- a/sheetview.go +++ b/sheetview.go @@ -58,7 +58,11 @@ type ( // 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 - + // View is a SheetViewOption. It specifies a flag indicating + // how sheet is displayed, by default it uses empty string + // available options: pageLayout, pageBreakPreview + View string + /* TODO // ShowWhiteSpace is a SheetViewOption. It specifies a flag indicating // whether page layout view shall display margins. False means do not display @@ -80,6 +84,14 @@ func (o *TopLeftCell) getSheetViewOption(view *xlsxSheetView) { *o = TopLeftCell(string(view.TopLeftCell)) } +func (o View) setSheetViewOption(view *xlsxSheetView) { + view.View = string(o) +} + +func (o *View) getSheetViewOption(view *xlsxSheetView) { + *o = View(string(view.View)) +} + func (o DefaultGridColor) setSheetViewOption(view *xlsxSheetView) { view.DefaultGridColor = boolPtr(bool(o)) } diff --git a/sheetview_test.go b/sheetview_test.go index 9207dec..6eb206e 100644 --- a/sheetview_test.go +++ b/sheetview_test.go @@ -14,6 +14,7 @@ var _ = []SheetViewOption{ ShowGridLines(true), ShowRowColHeaders(true), TopLeftCell("B2"), + View("pageLayout"), // SheetViewOptionPtr are also SheetViewOption new(DefaultGridColor), new(RightToLeft), @@ -30,6 +31,7 @@ var _ = []SheetViewOptionPtr{ (*ShowGridLines)(nil), (*ShowRowColHeaders)(nil), (*TopLeftCell)(nil), + (*View)(nil), } func ExampleFile_SetSheetViewOptions() { @@ -44,6 +46,7 @@ func ExampleFile_SetSheetViewOptions() { ShowRowColHeaders(true), ZoomScale(80), TopLeftCell("C3"), + View("pageLayout"), ); err != nil { fmt.Println(err) }