以下是一个示例代码,需要安装excelize和gorilla/mux库:

package main

import (
    "fmt"
    "log"
    "net/http"
    "strconv"

    "github.com/gorilla/mux"
    "github.com/360EntSecGroup-Skylar/excelize"
)

func main() {
    router := mux.NewRouter()

    router.HandleFunc("/extract", extractValues).Methods("POST")

    log.Fatal(http.ListenAndServe(":8080", router))
}

func extractValues(w http.ResponseWriter, r *http.Request) {
    // 读取请求体中的Excel文件
    file, _, err := r.FormFile("file")
    if err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }
    defer file.Close()

    // 加载Excel文件
    xlsx, err := excelize.OpenReader(file)
    if err != nil {
        http.Error(w, err.Error(), http.StatusBadRequest)
        return
    }

    // 获取第一列和第二列的值
    rows := xlsx.GetRows("Sheet1")
    values := make([][]string, len(rows))
    for i, row := range rows {
        values[i] = []string{row[0], row[1]}
    }

    // 把获取到的值输入到第三列
    for i, row := range values {
        value := row[0] + row[1]
        xlsx.SetCellValue("Sheet1", "C"+strconv.Itoa(i+1), value)
    }

    // 保存Excel文件
    err = xlsx.Write(w)
    if err != nil {
        http.Error(w, err.Error(), http.StatusInternalServerError)
        return
    }
}

这个代码会启动一个HTTP服务器,监听8080端口。当收到POST请求时,会从请求体中读取Excel文件,提取第一列和第二列的值,并把它们拼接起来输入到第三列。最后,返回修改后的Excel文件作为响应。注意,这个代码只是一个示例,实际生产环境中需要进行错误处理和安全性检查。

用go写一个根据excel文件提炼出第一列和第二列的值使用post请求传递把获取到的值输入到excel的第三列

原文地址: https://www.cveoy.top/t/topic/bTmA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录