插入图片
func (f *File) AddPicture(sheet, cell, picture, format string) error
根据给定的工作表名称、单元格坐标、图片地址和图片格式(例如偏移、缩放和打印设置等),在对应的单元格上插入图片。
例如:
package main
import (
_ "image/gif"
_ "image/jpeg"
_ "image/png"
"github.com/360EntSecGroup-Skylar/excelize"
)
func main() {
f := excelize.NewFile()
// 插入图片
if err := f.AddPicture("Sheet1", "A2", "image.jpg", ""); err != nil {
println(err.Error())
}
// 插入带有缩放比例和超链接的图片
if err := f.AddPicture("Sheet1", "D2", "image.png", `{"x_scale": 0.5, "y_scale": 0.5, "hyperlink": "#Sheet2!D8", "hyperlink_type": "Location"}`); err != nil {
println(err.Error())
}
// 插入图片,并设置图片的外部超链接、打印和位置属性
if err := f.AddPicture("Sheet1", "H2", "image.gif", `{"x_offset": 15, "y_offset": 10, "hyperlink": "https://github.com/360EntSecGroup-Skylar/excelize", "hyperlink_type": "External", "print_obj": true, "lock_aspect_ratio": false, "locked": false, "positioning": "oneCell"}`); err != nil {
println(err.Error())
}
if err := f.SaveAs("Book1.xlsx"); err != nil {
println(err.Error())
}
}
链接类型 hyperlink_type
支持外部链接 External
和内部链接 Location
两种类型,当使用 Location
连接到单元格位置时,坐标需要以 #
开始。
位置属性 positioning
支持 oneCell
(大小固定,位置随单元格改变)和 absolute
(大小、位置均固定)两种类型,当不设置此参数时,默认属性为大小、位置随单元格而改变。
func (f *File) AddPictureFromBytes(sheet, cell, format, name, extension string, file []byte) error
根据给定的工作表名称、单元格坐标、图片地址和图片格式(例如偏移、缩放和打印设置等)、图片描述、图片扩展名和 []byte
类型的图片内容,在对应的单元格上插入图片。
例如:
package main
import (
_ "image/jpeg"
"io/ioutil"
"github.com/360EntSecGroup-Skylar/excelize"
)
func main() {
f := excelize.NewFile()
file, err := ioutil.ReadFile("image.jpg")
if err != nil {
println(err.Error())
}
if err := f.AddPictureFromBytes("Sheet1", "A2", "", "Excel Logo", ".jpg", file); err != nil {
println(err.Error())
}
if err := f.SaveAs("Book1.xlsx"); err != nil {
println(err.Error())
}
}