Priority cell style, when the cell and the column at the same time with the style attribute. Relate issue #54 and #56.

formula
Ri Xu 8 years ago
parent e41ee8a124
commit d372bb977f

@ -135,23 +135,22 @@ func (f *File) SetCellInt(sheet, axis string, value int) {
completeRow(xlsx, rows, cell) completeRow(xlsx, rows, cell)
completeCol(xlsx, rows, cell) completeCol(xlsx, rows, cell)
xlsx.SheetData.Row[xAxis].C[yAxis].S = f.prepareCellStyle(xlsx, cell) xlsx.SheetData.Row[xAxis].C[yAxis].S = f.prepareCellStyle(xlsx, cell, xlsx.SheetData.Row[xAxis].C[yAxis].S)
xlsx.SheetData.Row[xAxis].C[yAxis].T = "" xlsx.SheetData.Row[xAxis].C[yAxis].T = ""
xlsx.SheetData.Row[xAxis].C[yAxis].V = strconv.Itoa(value) xlsx.SheetData.Row[xAxis].C[yAxis].V = strconv.Itoa(value)
} }
// prepareCellStyle provides function to prepare style index of cell in // prepareCellStyle provides function to prepare style index of cell in
// worksheet by given column index. // worksheet by given column index.
func (f *File) prepareCellStyle(xlsx *xlsxWorksheet, col int) int { func (f *File) prepareCellStyle(xlsx *xlsxWorksheet, col, style int) int {
s := 0 if xlsx.Cols != nil && style == 0 {
if xlsx.Cols != nil {
for _, v := range xlsx.Cols.Col { for _, v := range xlsx.Cols.Col {
if v.Min <= col && col <= v.Max { if v.Min <= col && col <= v.Max {
s = v.Style style = v.Style
} }
} }
} }
return s return style
} }
// SetCellStr provides function to set string type value of a cell. Total number // SetCellStr provides function to set string type value of a cell. Total number
@ -183,7 +182,7 @@ func (f *File) SetCellStr(sheet, axis, value string) {
} }
} }
} }
xlsx.SheetData.Row[xAxis].C[yAxis].S = f.prepareCellStyle(xlsx, cell) xlsx.SheetData.Row[xAxis].C[yAxis].S = f.prepareCellStyle(xlsx, cell, xlsx.SheetData.Row[xAxis].C[yAxis].S)
xlsx.SheetData.Row[xAxis].C[yAxis].T = "str" xlsx.SheetData.Row[xAxis].C[yAxis].T = "str"
xlsx.SheetData.Row[xAxis].C[yAxis].V = value xlsx.SheetData.Row[xAxis].C[yAxis].V = value
} }
@ -205,7 +204,7 @@ func (f *File) SetCellDefault(sheet, axis, value string) {
completeRow(xlsx, rows, cell) completeRow(xlsx, rows, cell)
completeCol(xlsx, rows, cell) completeCol(xlsx, rows, cell)
xlsx.SheetData.Row[xAxis].C[yAxis].S = f.prepareCellStyle(xlsx, cell) xlsx.SheetData.Row[xAxis].C[yAxis].S = f.prepareCellStyle(xlsx, cell, xlsx.SheetData.Row[xAxis].C[yAxis].S)
xlsx.SheetData.Row[xAxis].C[yAxis].T = "" xlsx.SheetData.Row[xAxis].C[yAxis].T = ""
xlsx.SheetData.Row[xAxis].C[yAxis].V = value xlsx.SheetData.Row[xAxis].C[yAxis].V = value
} }

Binary file not shown.
Loading…
Cancel
Save