场景[Go]: Base64转图片插入到excel(excelize)

更新

2024.1.18 日初步版本

问题描述

题主在制作excel导出的时候,发现没有相关的API 可以直接传入Base64数据,并输出图片到excel文件中。后续看到Excelize的API文档中存在有该方法

func(f *File) AddPictureFromBytes(sheet, cellstring, pic *Picture) error

最后通过该方法解决了该场景问题

具体实现代码

import (

_ "image/gif"

_ "image/jpeg"

_ "image/png"

)

// 该import最为重要!!若不添加,AddPictureFromBytes会爆出Format异常

// 处理Base64数据

image_data := strings.Split(items[index].Photo,",")[1]

binary_data := base64.NewDecoder(base64.StdEncoding, strings.NewReader(image_data))

buf := &bytes.Buffer{}

buf.ReadFrom(binary_data)

err := excel.AddPictureFromBytes(sheetName, fmt.Sprintf("C%d", index+1+2), &excelize.Picture{

        Extension:".jpg",

        File:      buf.Bytes(),

        Format: &excelize.GraphicOptions{

        OffsetX:5,

        OffsetY:4,

        AutoFit: true,

        ScaleX:0.99,

    ScaleY:0.99,

    },

})

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容