package dealexcel import ( "fmt" "net/http" "strings" "time" "automatedtesting/usecases_server/config" "automatedtesting/usecases_server/utils/cyllib/file" "automatedtesting/usecases_server/utils/cyllib/log" "automatedtesting/usecases_server/utils/excel" "github.com/gin-gonic/gin" ) type GroupController struct { xl *excel.Excel Err []string `json:"err"` } func (s *GroupController) Load(c *gin.Context) { f, err := c.FormFile("file") if err != nil { log.WriteErr(err) } folder := config.GetConfig().File.ExcelFolder name := config.GetConfig().File.ExcelName uid, _ := c.Get("uid") path := fmt.Sprint(folder, uid, "_", time.Now().UnixNano(), "_", name) if !file.Exist(folder) { file.MkdirAll(folder) } if err := c.SaveUploadedFile(f, path); err != nil { log.WriteErr(err) } s.DisposeExcel(path, uid.(int)) file.DeleteFloder(path) gp := GroupController{ Err: s.xl.Err, } c.JSON(http.StatusOK, &gp) } func (s *GroupController) Dowload(c *gin.Context) { gid := c.Query("gid") list := c.Query("idlist") idlist := strings.Split(list, ",") folder := config.GetConfig().File.Config e, _ := excel.NewOpenExcel(folder + "template.xlsx") e.WriteExcel(gid, idlist) f := e.GetFileIo() s.GetFileStream(f, c) }