From 3bbe212120c1199e574087f63afe8f384ffe16f5 Mon Sep 17 00:00:00 2001
From: zhangqian <zhangqian@123.com>
Date: 星期三, 31 七月 2024 15:01:21 +0800
Subject: [PATCH] 抽离设置表头为公共方法

---
 service/month_forms.go |   55 ++++++++++++++++---------------------------------------
 1 files changed, 16 insertions(+), 39 deletions(-)

diff --git a/service/month_forms.go b/service/month_forms.go
index a6fe4de..34a9cc5 100644
--- a/service/month_forms.go
+++ b/service/month_forms.go
@@ -70,49 +70,26 @@
 	unitData, unitIndexMap := GetAllUnits()
 	unitLen := len(unitData)
 
-	// 璁剧疆琛ㄥご
-	f.SetCellValue("Sheet1", "A1", "浜у搧缂栫爜")
-	f.MergeCell("Sheet1", "A1", "A2") // 鍚堝苟鍗曞厓鏍�
-	f.SetCellValue("Sheet1", "B1", "浜у搧鍚嶇О")
-	f.MergeCell("Sheet1", "B1", "B2") // 鍚堝苟鍗曞厓鏍�
-	f.SetCellValue("Sheet1", getColumnAlphabet(3)+"1", "鏈熷垵搴撳瓨")
-	f.MergeCell("Sheet1", getColumnAlphabet(3)+"1", getColumnAlphabet(2+unitLen)+"1") // 鍚堝苟鍗曞厓鏍�
-	f.SetCellValue("Sheet1", getColumnAlphabet(3+unitLen)+"1", "鏈湀鍏ュ簱")
-	f.MergeCell("Sheet1", getColumnAlphabet(3+unitLen)+"1", getColumnAlphabet(2+unitLen*2)+"1") // 鍚堝苟鍗曞厓鏍�
-	f.SetCellValue("Sheet1", getColumnAlphabet(3+unitLen*2)+"1", "鏈湀鍑哄簱")
-	f.MergeCell("Sheet1", getColumnAlphabet(3+unitLen*2)+"1", getColumnAlphabet(2+unitLen*3)+"1") // 鍚堝苟鍗曞厓鏍�
-	f.SetCellValue("Sheet1", getColumnAlphabet(3+unitLen*3)+"1", "鏈熸湯搴撳瓨")
-	f.MergeCell("Sheet1", getColumnAlphabet(3+unitLen*3)+"1", getColumnAlphabet(2+unitLen*4)+"1") // 鍚堝苟鍗曞厓鏍�
-
-	for j := 0; j < 4; j++ { //缁欐湡鍒濆簱瀛橈紝 鏈湀鍏ュ簱锛� 鏈湀鍑哄簱锛� 鏈熸湯搴撳瓨璧嬪�煎鍗曚綅琛ㄥご
-		for i, header := range unitData {
-			cell := getColumnAlphabet(i+3+unitLen*j) + "2"
-			f.SetCellValue("Sheet1", cell, header)
-		}
-	}
-	// 璁剧疆琛ㄥご鏍峰紡
-	style := &excelize.Style{
-		Border: nil,
-		Fill: excelize.Fill{
-			Type:    "pattern",
-			Pattern: 1,
-			Shading: 0,
-		},
-		Font: &excelize.Font{
-			Bold: true,
-		},
-		Alignment: &excelize.Alignment{
-			Horizontal: "center",
-		},
-	}
-	titleStyle, err := f.NewStyle(style)
+	// 鑷畾涔夎〃澶�
+	headers := []interface{}{"浜у搧缂栫爜", "浜у搧鍚嶇О", map[string][]string{"鏈熷垵搴撳瓨": unitData}, map[string][]string{"鏈湀鍏ュ簱": unitData}, map[string][]string{"鏈湀鍑哄簱": unitData}, map[string][]string{"鏈熸湯搴撳瓨": unitData}}
+	lastColumnNumber, err := SetExcelHeaders(headers, f)
 	if err != nil {
-		return
+		return "", err
 	}
-	f.SetCellStyle("Sheet1", "A1", getColumnAlphabet(2+unitLen*4)+"2", titleStyle)
+
+	f.MergeCell("Sheet1", "A1", "A2") // 鍚堝苟鍗曞厓鏍�
+	f.MergeCell("Sheet1", "B1", "B2") // 鍚堝苟鍗曞厓鏍�
+
+	titleStyle, err := SetHeaderStyle(f)
+	if err != nil {
+		return "", err
+	}
+
+	lastColumn := getColumnAlphabet(lastColumnNumber)
+	f.SetCellStyle("Sheet1", "A1", lastColumn+"2", titleStyle)
 	// 璁剧疆鍒楀
 	f.SetColWidth("Sheet1", "A", "B", 30)
-	f.SetColWidth("Sheet1", "C", getColumnAlphabet(2+unitLen*4), 15)
+	f.SetColWidth("Sheet1", "C", lastColumn, 15)
 
 	for i, v := range dataList {
 		row := strconv.Itoa(i + 3)

--
Gitblit v1.8.0