更新
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,
????},
})