From a6fc5a721dfcb4974342603ebff8a4032c58a797 Mon Sep 17 00:00:00 2001 From: Ri Xu Date: Mon, 2 Apr 2018 10:59:15 +0800 Subject: [PATCH] - Make row index consistent in function `SetRowHeight` and `GetRowHeight`, fix issue #205; - go test and godoc has been updated --- excelize_test.go | 6 +++--- rows.go | 30 ++++++++++++++---------------- test/SharedStrings.xlsx | Bin 3 files changed, 17 insertions(+), 19 deletions(-) mode change 100755 => 100644 test/SharedStrings.xlsx diff --git a/excelize_test.go b/excelize_test.go index f266250..efffe8c 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -226,10 +226,10 @@ func TestColWidth(t *testing.T) { func TestRowHeight(t *testing.T) { xlsx := NewFile() - xlsx.SetRowHeight("Sheet1", 0, 50) - xlsx.SetRowHeight("Sheet1", 3, 90) + xlsx.SetRowHeight("Sheet1", 1, 50) + xlsx.SetRowHeight("Sheet1", 4, 90) t.Log(xlsx.GetRowHeight("Sheet1", 1)) - t.Log(xlsx.GetRowHeight("Sheet1", 3)) + t.Log(xlsx.GetRowHeight("Sheet1", 0)) err := xlsx.SaveAs("./test/Book5.xlsx") if err != nil { t.Log(err) diff --git a/rows.go b/rows.go index 405717c..f7ae7f9 100644 --- a/rows.go +++ b/rows.go @@ -99,23 +99,18 @@ func (f *File) getTotalRowsCols(name string) (int, int) { return tr, tc } -// SetRowHeight provides a function to set the height of a single row. -// For example: +// SetRowHeight provides a function to set the height of a single row. For +// example, set the height of the first row in Sheet1: // -// xlsx := excelize.NewFile() -// xlsx.SetRowHeight("Sheet1", 0, 50) -// err := xlsx.Save() -// if err != nil { -// fmt.Println(err) -// } +// xlsx.SetRowHeight("Sheet1", 1, 50) // -func (f *File) SetRowHeight(sheet string, rowIndex int, height float64) { +func (f *File) SetRowHeight(sheet string, row int, height float64) { xlsx := f.workSheetReader(sheet) - rows := rowIndex + 1 cells := 0 - completeRow(xlsx, rows, cells) - xlsx.SheetData.Row[rowIndex].Ht = height - xlsx.SheetData.Row[rowIndex].CustomHeight = true + rowIdx := row - 1 + completeRow(xlsx, row, cells) + xlsx.SheetData.Row[rowIdx].Ht = height + xlsx.SheetData.Row[rowIdx].CustomHeight = true } // getRowHeight provides function to get row height in pixels by given sheet @@ -131,12 +126,15 @@ func (f *File) getRowHeight(sheet string, row int) int { return int(defaultRowHeightPixels) } -// GetRowHeight provides function to get row height by given worksheet name and -// row index. +// GetRowHeight provides function to get row height by given worksheet name +// and row index. For example, get the height of the first row in Sheet1: +// +// xlsx.GetRowHeight("Sheet1", 1) +// func (f *File) GetRowHeight(sheet string, row int) float64 { xlsx := f.workSheetReader(sheet) for _, v := range xlsx.SheetData.Row { - if v.R == row+1 && v.Ht != 0 { + if v.R == row && v.Ht != 0 { return v.Ht } } diff --git a/test/SharedStrings.xlsx b/test/SharedStrings.xlsx old mode 100755 new mode 100644