forked from p30928647/excelize
parent
478b528af1
commit
a34c81e1cc
20
cell.go
20
cell.go
|
@ -1388,6 +1388,10 @@ func (f *File) prepareCellStyle(ws *xlsxWorksheet, col, row, style int) int {
|
||||||
// given cell reference.
|
// given cell reference.
|
||||||
func (f *File) mergeCellsParser(ws *xlsxWorksheet, cell string) (string, error) {
|
func (f *File) mergeCellsParser(ws *xlsxWorksheet, cell string) (string, error) {
|
||||||
cell = strings.ToUpper(cell)
|
cell = strings.ToUpper(cell)
|
||||||
|
col, row, err := CellNameToCoordinates(cell)
|
||||||
|
if err != nil {
|
||||||
|
return cell, err
|
||||||
|
}
|
||||||
if ws.MergeCells != nil {
|
if ws.MergeCells != nil {
|
||||||
for i := 0; i < len(ws.MergeCells.Cells); i++ {
|
for i := 0; i < len(ws.MergeCells.Cells); i++ {
|
||||||
if ws.MergeCells.Cells[i] == nil {
|
if ws.MergeCells.Cells[i] == nil {
|
||||||
|
@ -1395,12 +1399,20 @@ func (f *File) mergeCellsParser(ws *xlsxWorksheet, cell string) (string, error)
|
||||||
i--
|
i--
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
ok, err := f.checkCellInRangeRef(cell, ws.MergeCells.Cells[i].Ref)
|
if ref := ws.MergeCells.Cells[i].Ref; len(ws.MergeCells.Cells[i].rect) == 0 && ref != "" {
|
||||||
if err != nil {
|
if strings.Count(ref, ":") != 1 {
|
||||||
return cell, err
|
ref += ":" + ref
|
||||||
|
}
|
||||||
|
rect, err := rangeRefToCoordinates(ref)
|
||||||
|
if err != nil {
|
||||||
|
return cell, err
|
||||||
|
}
|
||||||
|
_ = sortCoordinates(rect)
|
||||||
|
ws.MergeCells.Cells[i].rect = rect
|
||||||
}
|
}
|
||||||
if ok {
|
if cellInRange([]int{col, row}, ws.MergeCells.Cells[i].rect) {
|
||||||
cell = strings.Split(ws.MergeCells.Cells[i].Ref, ":")[0]
|
cell = strings.Split(ws.MergeCells.Cells[i].Ref, ":")[0]
|
||||||
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue