美文网首页
例子:读取excel内容下载图片

例子:读取excel内容下载图片

作者: yezide | 来源:发表于2020-04-11 18:53 被阅读0次
    package main
    
    import (
        "fmt"
        "io"
        "net/http"
        "os"
    
        "github.com/Luxurioust/excelize"
    )
    
    func main() {
        // 打开excel
        xlsx, err := excelize.OpenFile("/Users/lijingle/Downloads/1.xlsx")
        if err != nil {
            fmt.Println(err)
            os.Exit(1)
        }
    
        rows, err := xlsx.GetRows("工作表1")
        if err != nil {
            fmt.Println(err)
            os.Exit(1)
        }
    
        // 开始处理
        for _, row := range rows {
            fid := row[0]
            tid := row[1]
            url := row[2]
    
            if len(fid) > 0 && len(tid) > 0 && len(url) > 0 {
                downPicture(fid, tid, url)
            } else {
                fmt.Printf("处理失败,存在异常数据,fid=[%s],tid=[%s], url=[%s], error=%s\n", fid, tid, url)
            }
        }
    }
    
    /**
     * 下载图片,按fid分文件夹,按tid保存文件
     */
    func downPicture(fid string, tid string, url string) {
        basepath := "/Users/lijingle/Downloads/pic/down/" + fid + "/"
        fname := basepath + tid + ".jpg"
    
        // 如果以fid文件夹不存在,则创建
        _, err := os.Stat(basepath)
        if os.IsNotExist(err) {
            os.Mkdir(basepath, os.ModePerm)
        }
    
        // 如果图片文件已存在则不创建
        _, err1 := os.Stat(fname)
        if !os.IsNotExist(err1) {
            //fmt.Printf("  文件已存在,不重复下载, fname=%s\n", fname)
        }
    
        // 真正开始下载
        res, err := http.Get(url)
        if err != nil {
            fmt.Printf("下载失败,fid=[%s],tid=[%s], url=[%s], error=%s\n", fid, tid, url, err)
            return
        }
        f, err := os.Create(basepath + tid + ".jpg")
        if err != nil {
            fmt.Printf("保存失败,fid=[%s],tid=[%s], url=[%s], error=%s\n", fid, tid, url, err)
            return
        }
        io.Copy(f, res.Body)
        fmt.Printf("保存成功,fid=[%s],tid=[%s], url=[%s]\n", fid, tid, url)
    }
    
    

    相关文章

      网友评论

          本文标题:例子:读取excel内容下载图片

          本文链接:https://www.haomeiwen.com/subject/zpnumhtx.html