zhangqian
2024-07-31 3bbe212120c1199e574087f63afe8f384ffe16f5
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)