diff options
author | xuri <xuri.me@gmail.com> | 2021-09-29 23:08:17 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2021-09-29 23:08:17 +0800 |
commit | e52e75528260745d87fb0962fe239f54c1b5b390 (patch) | |
tree | 1637aaa85d39150ed032770d0dee7b40a0d82a5e /stream.go | |
parent | 2d8b5b1885b3d5cd14c974df61a3d0d757efd7bd (diff) |
Now support set row style in the stream writer
Diffstat (limited to 'stream.go')
-rw-r--r-- | stream.go | 17 |
1 files changed, 14 insertions, 3 deletions
@@ -84,6 +84,12 @@ type StreamWriter struct { // excelize.Cell{Value: 2}, // excelize.Cell{Formula: "SUM(A1,B1)"}}); // +// Set cell value and rows style for a worksheet with stream writer: +// +// err := streamWriter.SetRow("A1", []interface{}{ +// excelize.Cell{Value: 1}}, +// excelize.RowOpts{StyleID: styleID, Height: 20, Hidden: false}); +// func (f *File) NewStreamWriter(sheet string) (*StreamWriter, error) { sheetID := f.getSheetID(sheet) if sheetID == -1 { @@ -289,10 +295,12 @@ type Cell struct { Value interface{} } -// RowOpts define the options for set row. +// RowOpts define the options for the set row, it can be used directly in +// StreamWriter.SetRow to specify the style and properties of the row. type RowOpts struct { - Height float64 - Hidden bool + Height float64 + Hidden bool + StyleID int } // SetRow writes an array to stream rows by giving a worksheet name, starting @@ -356,6 +364,9 @@ func marshalRowAttrs(opts ...RowOpts) (attrs string, err error) { err = ErrMaxRowHeight return } + if opt.StyleID > 0 { + attrs += fmt.Sprintf(` s="%d" customFormat="true"`, opt.StyleID) + } if opt.Height > 0 { attrs += fmt.Sprintf(` ht="%v" customHeight="true"`, opt.Height) } |