- Make row index consistent in function `SetRowHeight` and `GetRowHeight`, fix issue #205;

- go test and godoc has been updated
This commit is contained in:
Ri Xu 2018-04-02 10:59:15 +08:00
parent dcbde4b831
commit a6fc5a721d
No known key found for this signature in database
GPG Key ID: BA5E5BB1C948EDF7
3 changed files with 17 additions and 19 deletions

View File

@ -226,10 +226,10 @@ func TestColWidth(t *testing.T) {
func TestRowHeight(t *testing.T) { func TestRowHeight(t *testing.T) {
xlsx := NewFile() xlsx := NewFile()
xlsx.SetRowHeight("Sheet1", 0, 50) xlsx.SetRowHeight("Sheet1", 1, 50)
xlsx.SetRowHeight("Sheet1", 3, 90) xlsx.SetRowHeight("Sheet1", 4, 90)
t.Log(xlsx.GetRowHeight("Sheet1", 1)) t.Log(xlsx.GetRowHeight("Sheet1", 1))
t.Log(xlsx.GetRowHeight("Sheet1", 3)) t.Log(xlsx.GetRowHeight("Sheet1", 0))
err := xlsx.SaveAs("./test/Book5.xlsx") err := xlsx.SaveAs("./test/Book5.xlsx")
if err != nil { if err != nil {
t.Log(err) t.Log(err)

30
rows.go
View File

@ -99,23 +99,18 @@ func (f *File) getTotalRowsCols(name string) (int, int) {
return tr, tc return tr, tc
} }
// SetRowHeight provides a function to set the height of a single row. // SetRowHeight provides a function to set the height of a single row. For
// For example: // example, set the height of the first row in Sheet1:
// //
// xlsx := excelize.NewFile() // xlsx.SetRowHeight("Sheet1", 1, 50)
// xlsx.SetRowHeight("Sheet1", 0, 50)
// err := xlsx.Save()
// if err != nil {
// fmt.Println(err)
// }
// //
func (f *File) SetRowHeight(sheet string, rowIndex int, height float64) { func (f *File) SetRowHeight(sheet string, row int, height float64) {
xlsx := f.workSheetReader(sheet) xlsx := f.workSheetReader(sheet)
rows := rowIndex + 1
cells := 0 cells := 0
completeRow(xlsx, rows, cells) rowIdx := row - 1
xlsx.SheetData.Row[rowIndex].Ht = height completeRow(xlsx, row, cells)
xlsx.SheetData.Row[rowIndex].CustomHeight = true xlsx.SheetData.Row[rowIdx].Ht = height
xlsx.SheetData.Row[rowIdx].CustomHeight = true
} }
// getRowHeight provides function to get row height in pixels by given sheet // 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) return int(defaultRowHeightPixels)
} }
// GetRowHeight provides function to get row height by given worksheet name and // GetRowHeight provides function to get row height by given worksheet name
// row index. // 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 { func (f *File) GetRowHeight(sheet string, row int) float64 {
xlsx := f.workSheetReader(sheet) xlsx := f.workSheetReader(sheet)
for _, v := range xlsx.SheetData.Row { for _, v := range xlsx.SheetData.Row {
if v.R == row+1 && v.Ht != 0 { if v.R == row && v.Ht != 0 {
return v.Ht return v.Ht
} }
} }

0
test/SharedStrings.xlsx Executable file → Normal file
View File