package main import ( "net/http" "strconv" ) /* 下载 GET http://127.0.0.1:8888/statistics/task?data_type=0&start_time=2024-12-26&end_time=2024-12-26 请求参数 data_type 数据类型 0新用户游戏破产率 1新用户平均游戏时长 2用户平均游戏时长 3新用户平均局数 4平均倍数 5活跃破产率 start_time 开始时间 end_time 结束时间 */ // Download 下载 func Download(w http.ResponseWriter, r *http.Request) { // 请求参数 // data_type 数据类型 // start_time 开始时间 // end_time 结束时间 // Request parameters dataType, err := strconv.Atoi(r.URL.Query().Get("data_type")) if err != nil { http.Error(w, "Invalid data_type", http.StatusBadRequest) return } startTime := r.URL.Query().Get("start_time") endTime := r.URL.Query().Get("end_time") f, name, err := ExcelMgrSingle.Pull(dataType, startTime, endTime) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) return } defer f.Close() w.Header().Set("Content-Type", "application/octet-stream;charset=UTF-8") w.Header().Set("Content-Disposition", "attachment; filename=\""+name+".xlsx\"") f.Write(w) }