From 2f856eaa7e46c884f1cb7ad721919a086d7f34a3 Mon Sep 17 00:00:00 2001 From: zhangqian <zhangqian@123.com> Date: 星期四, 13 六月 2024 15:57:45 +0800 Subject: [PATCH] 出入库明细列表和报表增加多单位 --- service/more_units.go | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 52 insertions(+), 0 deletions(-) diff --git a/service/more_units.go b/service/more_units.go index 8671ce3..3a4cf49 100644 --- a/service/more_units.go +++ b/service/more_units.go @@ -1,6 +1,7 @@ package service import ( + "errors" "github.com/shopspring/decimal" "github.com/xuri/excelize/v2" "strconv" @@ -33,3 +34,54 @@ } return } + +func SetExcelHeader(headers []interface{}, f *excelize.File) (err error) { + // 璁剧疆琛ㄥご + var i int + for _, h := range headers { + if v, ok := h.(string); ok { + err = f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", v) + if err != nil { + return + } + i++ + } else if childHeaders, ok := h.(map[string][]string); ok { + for title, list := range childHeaders { + err = f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", title) + if err != nil { + return err + } + err = f.MergeCell("Sheet1", getColumnAlphabet(i)+"1", getColumnAlphabet(i-1+len(list))+"1") // 鍚堝苟鍗曞厓鏍� + for _, t := range list { + err = f.SetCellValue("Sheet1", getColumnAlphabet(i)+"2", t) + if err != nil { + return err + } + i++ + } + } + } else { + return errors.New("unsupported header value") + } + } + return nil +} + +func SetHeaderStyle(f *excelize.File) (styleInt int, err error) { + // 璁剧疆琛ㄥご鏍峰紡 + style := &excelize.Style{ + Border: nil, + Fill: excelize.Fill{ + Type: "pattern", + Pattern: 1, + Shading: 0, + }, + Font: &excelize.Font{ + Bold: true, + }, + Alignment: &excelize.Alignment{ + Horizontal: "center", + }, + } + return f.NewStyle(style) +} -- Gitblit v1.8.0