Просмотр исходного кода

Merge pull request #3 from rentiansheng/maybeAddcol

Maybe addcol
rentiansheng 7 лет назад
Родитель
Сommit
e59a3f30c1
2 измененных файлов с 7 добавлено и 12 удалено
  1. 6 10
      sheet.go
  2. 1 2
      sheet_test.go

+ 6 - 10
sheet.go

@@ -72,6 +72,7 @@ func (s *Sheet) maybeAddCol(cellCount int) {
 			s.Cols = append(s.Cols, col)
 			currIndex++
 		}
+
 		s.MaxCol = cellCount
 	}
 }
@@ -111,17 +112,12 @@ func (s *Sheet) SetColWidth(startcol, endcol int, width float64) error {
 	if startcol > endcol {
 		return fmt.Errorf("Could not set width for range %d-%d: startcol must be less than endcol.", startcol, endcol)
 	}
-	col := &Col{
-		style:     NewStyle(),
-		Min:       startcol + 1,
-		Max:       endcol + 1,
-		Hidden:    false,
-		Collapsed: false,
-		Width:     width}
-	s.Cols = append(s.Cols, col)
-	if endcol+1 > s.MaxCol {
-		s.MaxCol = endcol + 1
+	end := endcol + 1
+	s.maybeAddCol(end)
+	for ; startcol < end; startcol++ {
+		s.Cols[startcol].Width = width
 	}
+
 	return nil
 }
 

+ 1 - 2
sheet_test.go

@@ -232,12 +232,11 @@ func (s *SheetSuite) TestSetColWidth(c *C) {
 	sheet, _ := file.AddSheet("Sheet1")
 	_ = sheet.SetColWidth(0, 0, 10.5)
 	_ = sheet.SetColWidth(1, 5, 11)
-
 	c.Assert(sheet.Cols[0].Width, Equals, 10.5)
 	c.Assert(sheet.Cols[0].Max, Equals, 1)
 	c.Assert(sheet.Cols[0].Min, Equals, 1)
 	c.Assert(sheet.Cols[1].Width, Equals, float64(11))
-	c.Assert(sheet.Cols[1].Max, Equals, 6)
+	c.Assert(sheet.Cols[1].Max, Equals, 2)
 	c.Assert(sheet.Cols[1].Min, Equals, 2)
 }