Explorar el Código

thx to tealeg

Dasflugen hace 5 años
padre
commit
06cae6368f
Se han modificado 1 ficheros con 90 adiciones y 1 borrados
  1. 90 1
      schedule/xlsx.go

+ 90 - 1
schedule/xlsx.go

@@ -27,7 +27,7 @@ func ImportXLSX(filename string) []*PlanXLSX {
         splited := strings.Split(spl.String(), " ")
         plan.GroupNumber   = strings.Split(splited[len(splited)-1], "-")[0]
 
-        for i, row := range sheet.Rows {
+        sheet.ForEachRow(func(row *Row) error {
             if i < 20 {
                 continue
             }
@@ -115,6 +115,95 @@ func ImportXLSX(filename string) []*PlanXLSX {
             })
         }
         listOfPlans = append(listOfPlans, plan)
+
+        // for i, row := range sheet.Rows {
+        //     if i < 20 {
+        //         continue
+        //     }
+        //     if len(row.Cells) < 20 {
+        //         continue
+        //     }
+        //     if row.Cells[2].String() == "" || row.Cells[2].String() == "ИТОГО" {
+        //         continue
+        //     }
+
+        //     if strings.HasPrefix(row.Cells[1].String(), "Консультации") || strings.HasPrefix(row.Cells[1].String(), "Государственная") {
+        //         continue
+        //     }
+
+        //     splited := strings.Split(row.Cells[1].String(), ".")
+        //     if len(splited) != 2 {
+        //         continue
+        //     }
+
+        //     typerow := TypeRow(IsSubTR)
+        //     switch {
+        //     case strings.Contains(row.Cells[2].String(), "цикл"):
+        //         typerow = IsCycleTR
+        //     case splited[1] == "00":
+        //         typerow = IsStartTR
+        //     case splited[0] == "ПМ":
+        //         typerow = IsPmTR
+        //     }
+
+        //     max, _       := row.Cells[4].Int()
+        //     selfstudy, _ := row.Cells[5].Int()
+        //     allstudy, _  := row.Cells[6].Int()
+        //     lectures, _  := row.Cells[7].Int()
+        //     labs, _      := row.Cells[8].Int()
+        //     projects, _  := row.Cells[9].Int()
+        //     c1s1, _      := row.Cells[12].Int()
+        //     c1s2, _      := row.Cells[13].Int()
+        //     c2s1, _      := row.Cells[14].Int()
+        //     c2s2, _      := row.Cells[15].Int()
+        //     c3s1, _      := row.Cells[16].Int()
+        //     c3s2, _      := row.Cells[17].Int()
+        //     c4s1, _      := row.Cells[18].Int()
+        //     c4s2, _      := row.Cells[19].Int()
+
+        //     certform := ""
+        //     splited = strings.Split(row.Cells[3].String(), ",")
+        //     for _, v := range splited {
+        //         if v != "-" {
+        //             certform = v
+        //             break
+        //         }
+        //     }
+
+        //     plan.Lines = append(plan.Lines, LineXLSX{
+        //         ID:        row.Cells[1].String(),
+        //         Name:      row.Cells[2].String(),
+        //         CertForm:  certform,
+        //         StudyLoad: StudyLoadXLSX{
+        //             Max:       max,
+        //             SelfStudy: selfstudy,
+        //             AllStudy:  allstudy,
+        //             Lectures:  lectures,
+        //             Labs:      labs,
+        //             Projects:  projects,
+        //         },
+        //         Course: [4][2]int{
+        //             [2]int{
+        //                 c1s1,
+        //                 c1s2,
+        //             },
+        //             [2]int{
+        //                 c2s1,
+        //                 c2s2,
+        //             },
+        //             [2]int{
+        //                 c3s1,
+        //                 c3s2,
+        //             },
+        //             [2]int{
+        //                 c4s1,
+        //                 c4s2,
+        //             },
+        //         },
+        //         TypeRow: typerow,
+        //     })
+        // }
+        listOfPlans = append(listOfPlans, plan)
     }
     return listOfPlans
     return nil