package cmd import ( "fmt" "github.com/mizuki1412/go-core-kit/class/exception" "github.com/mizuki1412/go-core-kit/service/logkit" "github.com/spf13/cast" "github.com/spf13/cobra" "github.com/tidwall/gjson" "github.com/xuri/excelize/v2" "log" "strconv" "time" ) func init() { rootCmd.AddCommand(testCmd) } var testCmd = &cobra.Command{ Use: "test", Short: "Only for test", Run: func(cmd *cobra.Command, args []string) { extractColumnsLoss() }, } func extractColumnsLoss() { // 打开 Excel 文件 f, err := excelize.OpenFile("/Users/leo/Documents/竣工与调度光衰单 (79).xlsx") if err != nil { log.Fatal(err) } // 获取表格的所有行 rows, err := f.GetRows("{worksheet}") // 假设表格在"{worksheet}"中 if err != nil { log.Fatal(err) } // 创建一个二维数组来存储提取的数据 var data []string // 遍历每一行,提取 A, C, BH 列的数据 for i, row := range rows { // 跳过表头 if i == 0 { continue } // 获取 AO 列的数据 if len(row) > 40 { data = append(data, row[40]) // AC列 } } for i, row := range data { resp, err := lawClient.R(). SetHeaders(map[string]string{ "Authorization": "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNTY1NzE3NTEyNCIsInVzZXJJZCI6IjE2NjUiLCJuYW1lIjoi6K646ZyW5Y2TIiwiZXhwIjoxNzQyMjE0NTI2LCJuYmYiOjE3NDIxOTY1MjZ9.eVclGWTTxAVOjvV9NK4T_FCF2DngXkz_g6JYz2Ik4H8oLZW9Q1iEW3WLtwVUCiyW1qPLIITictdFzAeM6sbT7Wmvg4HbOHJNWxNJtkoB8xAAFBBE9r9ri8cXUz_Actt5WAhM5K4U42ed0TLtifC1KuXxgwMRervaqxuWBzjzhQY", "Content-type": "application/json;charset=UTF-8", "Cookie": "Admin-Token=eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNTY1NzE3NTEyNCIsInVzZXJJZCI6IjE2NjUiLCJuYW1lIjoi6K646ZyW5Y2TIiwiZXhwIjoxNzQyMjE0NTI2LCJuYmYiOjE3NDIxOTY1MjZ9.eVclGWTTxAVOjvV9NK4T_FCF2DngXkz_g6JYz2Ik4H8oLZW9Q1iEW3WLtwVUCiyW1qPLIITictdFzAeM6sbT7Wmvg4HbOHJNWxNJtkoB8xAAFBBE9r9ri8cXUz_Actt5WAhM5K4U42ed0TLtifC1KuXxgwMRervaqxuWBzjzhQY; sysName=%E8%AE%B8%E9%9C%96%E5%8D%93", }).SetBody(map[string]interface{}{ "endTime": cast.ToString(time.Now().Format("2006-01-02")), "eqpLoid": row, "limit": "10", "page": 1, "startTime": cast.ToString(time.Now().AddDate(0, 0, -4).Format("2006-01-02")), "userName": "许霖卓", }).Post("http://10.20.219.85:9527/api/view/onuCon/queryOnuInfoList") if err != nil || resp.IsError() || resp.StatusCode() != 200 { fmt.Println(err) } else { res := gjson.Get(resp.String(), "data.rows").Array() f.SetCellValue("{worksheet}", "AZ"+strconv.Itoa(i+2), res[0].Get("onu_rx_power").String()) f.SetCellValue("{worksheet}", "BA"+strconv.Itoa(i+2), res[1].Get("onu_rx_power").String()) f.SetCellValue("{worksheet}", "BB"+strconv.Itoa(i+2), res[2].Get("onu_rx_power").String()) f.SetCellValue("{worksheet}", "BC"+strconv.Itoa(i+2), res[3].Get("onu_rx_power").String()) f.SetCellValue("{worksheet}", "BD"+strconv.Itoa(i+2), res[4].Get("onu_rx_power").String()) } } if err := f.SaveAs("/Users/leo/Documents/竣工与调度光衰单 (79).xlsx"); err != nil { fmt.Println(err) } logkit.Info("生成结束...") } func extractColumns() { // 打开 Excel 文件 f, err := excelize.OpenFile("/Users/leo/Documents/副本电子围栏---林斌1.16.xlsx") if err != nil { log.Fatal(err) } // 获取表格的所有行 rows, err := f.GetRows("李强") // 假设表格在"Sheet1"中 if err != nil { log.Fatal(err) } // 创建一个二维数组来存储提取的数据 var data [][]string // 遍历每一行,提取 A, C, BH 列的数据 for i, row := range rows { // 跳过表头 if i == 0 { continue } // 获取 A, C, BH 列的数据 var rowData []string if len(row) > 0 { rowData = append(rowData, row[0]) // A列 } if len(row) > 2 { rowData = append(rowData, row[2]) // C列 } if len(row) > 28 { rowData = append(rowData, row[28]) // AC列 } // 将这一行数据添加到二维数组中 if len(rowData) > 0 { data = append(data, rowData) } } // 输出提取的数据 for _, row := range data { fmt.Println(row) resp, err := lawClient.R(). SetHeaders(map[string]string{ "Authorization": "eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNTY1NzE3NjI2OSIsInVzZXJJZCI6IjEwMTUiLCJuYW1lIjoi6a2P5beN5beNIiwiZXhwIjoxNzM3MDI1MDc1LCJuYmYiOjE3MzcwMDcwNzV9.TG-Bk0CbwzavOl1RKszTDVYrBEZUoyY8EhXAS_Q8HRkJj_CyzPj_SfAc2sJnejarxh4hfVK0FkIU6GiVPMm67OhKUQCN1FnBWspXNFihIdnsaS9WDB4o_BCI16gV5dUxEQ3TjL3Ok4vMBnzk0rPdQJmU-3DphCmo7f_AS6BM46s", "Content-type": "application/json;charset=UTF-8", "Cookie": "Admin-Token=eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxNTY1NzE3NjI2OSIsInVzZXJJZCI6IjEwMTUiLCJuYW1lIjoi6a2P5beN5beNIiwiZXhwIjoxNzM3MDI1MDc1LCJuYmYiOjE3MzcwMDcwNzV9.TG-Bk0CbwzavOl1RKszTDVYrBEZUoyY8EhXAS_Q8HRkJj_CyzPj_SfAc2sJnejarxh4hfVK0FkIU6GiVPMm67OhKUQCN1FnBWspXNFihIdnsaS9WDB4o_BCI16gV5dUxEQ3TjL3Ok4vMBnzk0rPdQJmU-3DphCmo7f_AS6BM46s; sysName=%E9%AD%8F%E5%B7%8D%E5%B7%8D", }).SetBody(map[string]interface{}{ "dzwlCode": row[2], "dzwlId": cast.ToInt64(row[0]), "remarks": "其他", "sevenAddrId": row[1], "userId": "15657176269", "zprName": "林斌", "zprPhone": "15657178035", }).Post("http://10.20.219.85:9527/api/resourceView/dzwl/updDzwlZpr") if err != nil || resp.IsError() || resp.StatusCode() != 200 { fmt.Println(err) panic(exception.New("失败" + row[1])) } else { fmt.Println("ok" + row[1] + resp.String()) } } }