summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--excelize_test.go10
-rw-r--r--rows.go28
2 files changed, 38 insertions, 0 deletions
diff --git a/excelize_test.go b/excelize_test.go
index dc7d510..b7f664e 100644
--- a/excelize_test.go
+++ b/excelize_test.go
@@ -261,3 +261,13 @@ func TestSMergeCell(t *testing.T) {
t.Log(err)
}
}
+
+func TestSetRowHeight(t *testing.T) {
+ xlsx := CreateFile()
+ xlsx.SetRowHeight("Sheet1", 0, 50)
+ xlsx.SetRowHeight("Sheet1", 3, 90)
+ err := xlsx.WriteTo("./test/Workbook_5.xlsx")
+ if err != nil {
+ t.Log(err)
+ }
+}
diff --git a/rows.go b/rows.go
index 384ee7d..4e655b1 100644
--- a/rows.go
+++ b/rows.go
@@ -36,6 +36,34 @@ func (f *File) GetRows(sheet string) [][]string {
return r
}
+// SetRowHeight provides a function to set the height of a single row.
+// For example:
+//
+// xlsx := excelize.CreateFile()
+// xlsx.SetRowHeight("Sheet1", 0, 50)
+// err := xlsx.Save()
+// if err != nil {
+// fmt.Println(err)
+// os.Exit(1)
+// }
+//
+func (f *File) SetRowHeight(sheet string, rowIndex int, height float64) {
+ xlsx := xlsxWorksheet{}
+ name := "xl/worksheets/" + strings.ToLower(sheet) + ".xml"
+ xml.Unmarshal([]byte(f.readXML(name)), &xlsx)
+
+ rows := rowIndex + 1
+ cells := 0
+
+ xlsx = completeRow(xlsx, rows, cells)
+
+ xlsx.SheetData.Row[rowIndex].Ht = strconv.FormatFloat(height, 'f', -1, 64)
+ xlsx.SheetData.Row[rowIndex].CustomHeight = true
+
+ output, _ := xml.Marshal(xlsx)
+ f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpace(string(output)))
+}
+
// readXMLSST read xmlSST simple function.
func readXMLSST(f *File) (xlsxSST, error) {
shardStrings := xlsxSST{}