package main import ( "encoding/json" "fmt" "github.com/tealeg/xlsx" "io/ioutil" "net/http" ) type AutoGenerated34 struct { Code int `json:"code"` Message string `json:"message"` Data struct { Total int `json:"total"` Data []struct { UserID int `json:"userId"` Date string `json:"date"` Country string `json:"country"` UserCode string `json:"userCode"` UserName string `json:"userName"` ChargeMoney string `json:"chargeMoney"` HaveFirst int `json:"haveFirst"` RegisterAt string `json:"registerAt"` SvipLevel int `json:"svipLevel"` } `json:"data"` } `json:"data"` } func ats34(a interface{}) string { return fmt.Sprintf("%v", a) } func main() { url := "https://apiv2.faceline.live/v1/stats/charge/user?lang=zh-cn&diamondType=2&beginDate=2023-10-01&endDate=2023-10-31&pageIndex=1&pageSize=10000&country=All&code=&area=1&timezone=1" method := "GET" client := &http.Client{} req, err := http.NewRequest(method, url, nil) if err != nil { fmt.Println(err) return } req.Header.Add("nonce", "hilo") req.Header.Add("token", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjI1MSwiRXh0ZXJuYWxJZCI6IiIsImV4cCI6MTcwMTIyNTI5Nn0.YIz5lhgvqIxgmK0lLXICUhiISHNP4_g-LHsg4foL-qc") res, err := client.Do(req) if err != nil { fmt.Println(err) return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil { panic(err) } var response = new(AutoGenerated34) err = json.Unmarshal(body, &response) if err != nil { panic(err) } excelFileName := fmt.Sprintf("./粉钻充值10月-沙特时间.xlsx") xlFile := xlsx.NewFile() sheet, _ := xlFile.AddSheet("charge") row := sheet.AddRow() c1, c2, c3, c4, c5, c6, c7, c8 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell() c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value, c7.Value, c8.Value = "日期", "国家", "用户ID", "用户昵称", "充值金额", "注册时间", "是否举办首场活动", "svip等级" for _, d := range response.Data.Data { row := sheet.AddRow() c1, c2, c3, c4, c5, c6, c7, c8 := row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell(), row.AddCell() c1.Value, c2.Value, c3.Value, c4.Value, c5.Value, c6.Value = ats34(d.Date), ats34(d.Country), ats34(d.UserCode), ats34(d.UserName), ats34(d.ChargeMoney), ats34(d.RegisterAt) c7.Value, c8.Value = ats34(d.HaveFirst), ats34(d.SvipLevel) } _ = xlFile.Save(excelFileName) }