zhangqian
2024-07-31 da621f474d28ab041dcf258142eddb506100a8ce
service/more_units.go
@@ -75,38 +75,6 @@
   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{
@@ -146,20 +114,28 @@
   i := 1
   for _, h := range headers {
      if v, ok := h.(string); ok {
         f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", v)
         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 {
            f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", title)
            err = f.MergeCell("Sheet1", getColumnAlphabet(i)+"1", getColumnAlphabet(i-1+len(list))+"1") // 合并单元格
            err = f.SetCellValue("Sheet1", getColumnAlphabet(i)+"1", title)
            if err != nil {
               return 1, err
               return
            }
            err = f.MergeCell("Sheet1", getColumnAlphabet(i)+"1", getColumnAlphabet(i-1+len(list))+"1") // 合并单元格
            for _, t := range list {
               f.SetCellValue("Sheet1", getColumnAlphabet(i)+"2", t)
               err = f.SetCellValue("Sheet1", getColumnAlphabet(i)+"2", t)
               if err != nil {
                  return
               }
               i++
            }
         }
      } else {
         return i, errors.New("unsupported header value")
      }
   }
   return i, nil