package tech import ( "net/http" "strconv" "github.com/lunny/log" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/context" "github.com/360EntSecGroup-Skylar/excelize/v2" ) func ImportBasicInfo(ctx *context.APIContext) { file, _, err := ctx.GetFile("file") if err != nil { ctx.JSON(http.StatusBadRequest, models.BaseErrorMessageApi(ctx.Tr("model_app.get_file_fail"))) return } defer file.Close() f, err := excelize.OpenReader(file) if err != nil { ctx.JSON(http.StatusBadRequest, models.BaseErrorMessageApi(ctx.Tr("model_app.get_file_fail"))) return } rows, err := f.GetRows(f.GetSheetName(1)) if err != nil { ctx.JSON(http.StatusBadRequest, models.BaseErrorMessageApi(ctx.Tr("model_app.get_file_fail"))) return } for i, row := range rows { if i != 0 { baseInfo := &models.TechConvergeBaseInfo{} baseInfo.ProjectNumber = row[2] baseInfo.ApplyYear, err = strconv.Atoi(row[1]) log.Warn("base info apply year parse err ", i) baseInfo.ProjectName = row[3] baseInfo.Type = row[16] baseInfo.Owner = row[8] baseInfo.Email = row[10] baseInfo.Phone = row[9] baseInfo.Recommend = row[7] baseInfo.Institution = row[4] } } }