|
@@ -8,111 +8,112 @@ import (
|
|
|
)
|
|
|
|
|
|
func ImportXLSX(filename string) []*PlanXLSX {
|
|
|
- var (
|
|
|
- listOfPlans []*PlanXLSX
|
|
|
- )
|
|
|
- xlFile, err := xlsx.OpenFile(filename)
|
|
|
- if err != nil {
|
|
|
- return nil
|
|
|
- }
|
|
|
- for _, sheet := range xlFile.Sheets {
|
|
|
- var plan = new(PlanXLSX)
|
|
|
- plan.ProgramCode = sheet.Rows[5].Cells[1].String()
|
|
|
- plan.NameCode = strings.Split(sheet.Rows[5].Cells[6].String(), " ")[0]
|
|
|
- plan.PeriodOfStudy = sheet.Rows[7].Cells[6].String()
|
|
|
- splited := strings.Split(sheet.Rows[9].Cells[1].String(), " ")
|
|
|
- plan.GroupNumber = strings.Split(splited[len(splited)-1], "-")[0]
|
|
|
+ // var (
|
|
|
+ // listOfPlans []*PlanXLSX
|
|
|
+ // )
|
|
|
+ // xlFile, err := xlsx.OpenFile(filename)
|
|
|
+ // if err != nil {
|
|
|
+ // return nil
|
|
|
+ // }
|
|
|
+ // for _, sheet := range xlFile.Sheets {
|
|
|
+ // var plan = new(PlanXLSX)
|
|
|
+ // plan.ProgramCode = sheet.Rows[5].Cells[1].String()
|
|
|
+ // plan.NameCode = strings.Split(sheet.Rows[5].Cells[6].String(), " ")[0]
|
|
|
+ // plan.PeriodOfStudy = sheet.Rows[7].Cells[6].String()
|
|
|
+ // splited := strings.Split(sheet.Rows[9].Cells[1].String(), " ")
|
|
|
+ // plan.GroupNumber = strings.Split(splited[len(splited)-1], "-")[0]
|
|
|
|
|
|
- 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
|
|
|
- }
|
|
|
+ // 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
|
|
|
- }
|
|
|
+ // 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
|
|
|
- }
|
|
|
+ // 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
|
|
|
- }
|
|
|
+ // 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()
|
|
|
+ // 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
|
|
|
- }
|
|
|
- }
|
|
|
+ // 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
|
|
|
+ // 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
|
|
|
}
|
|
|
|
|
|
func CreateXLSX(filename string) (*xlsx.File, string) {
|