|
|
|
@ -11,7 +11,7 @@ import (
|
|
|
|
|
|
|
|
|
|
|
|
func GenExcelFile(m map[string]*service.HighOptLoss) {
|
|
|
|
func GenExcelFile(m map[string]*service.HighOptLoss) {
|
|
|
|
// Open the Excel file
|
|
|
|
// Open the Excel file
|
|
|
|
f, err := excelize.OpenFile("/Users/leo/Documents/大光衰通报模板.xlsx")
|
|
|
|
f, err := excelize.OpenFile("/Users/leo/Documents/光衰通报/大光衰/2025/大光衰通报(1月10日).xlsx")
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
fmt.Println(err)
|
|
|
|
fmt.Println(err)
|
|
|
|
return
|
|
|
|
return
|
|
|
|
@ -73,7 +73,77 @@ func GenExcelFile(m map[string]*service.HighOptLoss) {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Save the file
|
|
|
|
// Save the file
|
|
|
|
if err := f.SaveAs("/Users/leo/Documents/大光衰通报模板.xlsx"); err != nil {
|
|
|
|
if err := f.SaveAs("/Users/leo/Documents/光衰通报/大光衰/2025/大光衰通报(1月17日).xlsx"); err != nil {
|
|
|
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
logkit.Info("生成结束...")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func GenExcelFileSmall(m map[string]*service.HighOptLoss) {
|
|
|
|
|
|
|
|
// Open the Excel file
|
|
|
|
|
|
|
|
f, err := excelize.OpenFile("/Users/leo/Documents/光衰通报/小光衰/2025/光衰质差通报(1月10日).xlsx")
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Cut and paste data from E4:E22 to C4:C22
|
|
|
|
|
|
|
|
for i := 4; i <= 22; i++ {
|
|
|
|
|
|
|
|
eCell := "E" + strconv.Itoa(i)
|
|
|
|
|
|
|
|
cCell := "C" + strconv.Itoa(i)
|
|
|
|
|
|
|
|
value, _ := f.GetCellValue("汇总", eCell)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", cCell, cast.ToInt(value))
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", eCell, "")
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Populate E4:H22 with data from the map
|
|
|
|
|
|
|
|
for i := 4; i <= 22; i++ {
|
|
|
|
|
|
|
|
bCell := "B" + strconv.Itoa(i)
|
|
|
|
|
|
|
|
key, _ := f.GetCellValue("汇总", bCell)
|
|
|
|
|
|
|
|
if data, ok := m[key]; ok {
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "E"+strconv.Itoa(i), data.Count)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "F"+strconv.Itoa(i), data.DurationOverSeven)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "G"+strconv.Itoa(i), data.DurationOverFifteen)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "H"+strconv.Itoa(i), data.Book)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "E"+strconv.Itoa(i), 0)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "F"+strconv.Itoa(i), 0)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "G"+strconv.Itoa(i), 0)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", "H"+strconv.Itoa(i), 0)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Calculate D4:D22 as C-E
|
|
|
|
|
|
|
|
for i := 4; i <= 22; i++ {
|
|
|
|
|
|
|
|
cCell := "C" + strconv.Itoa(i)
|
|
|
|
|
|
|
|
eCell := "E" + strconv.Itoa(i)
|
|
|
|
|
|
|
|
dCell := "D" + strconv.Itoa(i)
|
|
|
|
|
|
|
|
cValue, _ := f.GetCellValue("汇总", cCell)
|
|
|
|
|
|
|
|
eValue, _ := f.GetCellValue("汇总", eCell)
|
|
|
|
|
|
|
|
cInt, _ := strconv.Atoi(cValue)
|
|
|
|
|
|
|
|
eInt, _ := strconv.Atoi(eValue)
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", dCell, cInt-eInt)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// Sum columns C:H and place the results in row 23
|
|
|
|
|
|
|
|
for col := 'C'; col <= 'H'; col++ {
|
|
|
|
|
|
|
|
sumCell := string(col) + "23"
|
|
|
|
|
|
|
|
sumFormula := fmt.Sprintf("SUM(%s4:%s22)", string(col), string(col))
|
|
|
|
|
|
|
|
f.SetCellFormula("汇总", sumCell, sumFormula)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Recalculate the sum for each cell to ensure it appears without manual intervention
|
|
|
|
|
|
|
|
for col := 'C'; col <= 'H'; col++ {
|
|
|
|
|
|
|
|
sumCell := string(col) + "23"
|
|
|
|
|
|
|
|
value, err := f.CalcCellValue("汇总", sumCell)
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
f.SetCellValue("汇总", sumCell, cast.ToInt(value))
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Save the file
|
|
|
|
|
|
|
|
if err := f.SaveAs("/Users/leo/Documents/光衰通报/小光衰/2025/光衰质差通报(1月17日).xlsx"); err != nil {
|
|
|
|
fmt.Println(err)
|
|
|
|
fmt.Println(err)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
logkit.Info("生成结束...")
|
|
|
|
logkit.Info("生成结束...")
|
|
|
|
|