图片

    例如:

    1. import (
    2. "fmt"
    3. _ "image/gif"
    4. _ "image/jpeg"
    5. _ "image/png"
    6. "github.com/xuri/excelize/v2"
    7. )
    8. func main() {
    9. f := excelize.NewFile()
    10. // 插入图片
    11. if err := f.AddPicture("Sheet1", "A2", "image.jpg", ""); err != nil {
    12. fmt.Println(err)
    13. }
    14. // 插入带有缩放比例和超链接的图片
    15. if err := f.AddPicture("Sheet1", "D2", "image.png", `{
    16. "x_scale": 0.5,
    17. "y_scale": 0.5,
    18. "hyperlink": "#Sheet2!D8",
    19. "hyperlink_type": "Location"
    20. fmt.Println(err)
    21. }
    22. // 插入图片,并设置图片的外部超链接、打印和位置属性
    23. if err := f.AddPicture("Sheet1", "H2", "image.gif", `{
    24. "x_offset": 15,
    25. "y_offset": 10,
    26. "hyperlink": "https://github.com/xuri/excelize",
    27. "hyperlink_type": "External",
    28. "print_obj": true,
    29. "lock_aspect_ratio": false,
    30. "positioning": "oneCell"
    31. }`); err != nil {
    32. fmt.Println(err)
    33. }
    34. if err := f.SaveAs("Book1.xlsx"); err != nil {
    35. fmt.Println(err)
    36. }
    37. }

    可选参数 autofit 指定是否使图片尺寸自动适合单元格,其默认值为 false

    可选参数 hyperlink 用以指定图片的超链接。

    可选参数 hyperlink_type 指定图片超链接的类型,支持外部链接 External 和内部链接 Location 两种类型,当使用 Location 连接到单元格位置时,坐标需要以 # 开始。

    可选参数 print_obj 指定打印工作表时是否打印图片,其默认值为 true

    可选参数 lock_aspect_ratio 指定是否锁定图片的纵横比,其默认值为 false。

    可选参数 locked 指定是否锁定图片。除非工作表受到保护,否则锁定对象无效。

    可选参数 x_offset 指定图片与插入单元格的水平偏移量,其默认值为 0。

    可选参数 y_offset 指定图片与插入单元格的垂直偏移量,其默认值为 0。

    可选参数 y_scale 指定图片的垂直缩放比例,其默认值为 1.0,表示 100%。

    根据给定的工作表名称、单元格坐标、图片地址和图片格式(例如偏移、缩放和打印设置等)、图片描述、图片扩展名和 []byte 类型的图片内容,在对应的单元格上插入图片。

    例如:

    1. package main
    2. import (
    3. _ "image/jpeg"
    4. "github.com/xuri/excelize/v2"
    5. func main() {
    6. f := excelize.NewFile()
    7. file, err := ioutil.ReadFile("image.jpg")
    8. if err != nil {
    9. fmt.Println(err)
    10. }
    11. if err := f.AddPictureFromBytes("Sheet1", "A2", "", "Excel Logo", ".jpg", file); err != nil {
    12. fmt.Println(err)
    13. }
    14. if err := f.SaveAs("Book1.xlsx"); err != nil {
    15. fmt.Println(err)
    16. }
    17. }
    1. f, err := excelize.OpenFile("Book1.xlsx")
    2. if err != nil {
    3. fmt.Println(err)
    4. return
    5. }
    6. file, raw, err := f.GetPicture("Sheet1", "A2")
    7. if err != nil {
    8. fmt.Println(err)
    9. return
    10. }
    11. if err := ioutil.WriteFile(file, raw, 0644); err != nil {

    根据给定的工作表名称和单元格坐标,删除对应单元格上的图片。