Skip to content

Latest commit

 

History

History
188 lines (153 loc) · 6.27 KB

image.md

File metadata and controls

188 lines (153 loc) · 6.27 KB

Imagem

Inserir imagem {#AddPicture}

func (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error

AddPicture fornece o método para adicionar uma imagem a uma planilha por determinado conjunto de formato de imagem (como deslocamento, escala, configuração de proporção de aspecto e configurações de impressão) e caminho do arquivo. Esta função é segura para simultaneidade.

Por exemplo:

package main

import (
    "fmt"
    _ "image/gif"
    _ "image/jpeg"
    _ "image/png"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    if err := f.SetSheetName("Sheet1", "Planilha1"); err != nil {
        fmt.Println(err)
        return
    }
    // Insira uma imagem.
    if err := f.AddPicture("Planilha1", "A2", "image.png", nil); err != nil {
        fmt.Println(err)
        return
    }
    // Insira uma escala de imagem na célula com hiperlink de localização.
    enable, disable := true, false
    if err := f.AddPicture("Planilha1", "D2", "image.jpg",
        &excelize.GraphicOptions{
            ScaleX:        0.5,
            ScaleY:        0.5,
            Hyperlink:     "#Planilha2!D8",
            HyperlinkType: "Location",
        },
    ); err != nil {
        fmt.Println(err)
        return
    }
    // Insira um deslocamento de imagem na célula com hiperlink externo, suporte para impressão e posicionamento.
    if err := f.AddPicture("Planilha1", "H2", "image.gif",
        &excelize.GraphicOptions{
            OffsetX:         15,
            OffsetY:         10,
            Hyperlink:       "https://github.com/xuri/excelize",
            HyperlinkType:   "External",
            PrintObject:     &enable,
            LockAspectRatio: false,
            Locked:          &disable,
            Positioning:     "oneCell",
        },
    ); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SaveAs("Pasta1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

O parâmetro opcional AltText é usado para adicionar texto alternativo a um objeto gráfico.

O parâmetro opcional PrintObject indica se o objeto gráfico é impresso quando a planilha é impressa, o valor padrão é true.

O parâmetro opcional Locked indica se bloqueia o objeto gráfico. Bloquear um objeto não tem efeito a menos que a planilha esteja protegida.

O parâmetro opcional LockAspectRatio indica se a proporção de aspecto do objeto gráfico é bloqueada, o valor padrão é false.

O parâmetro opcional AutoFit especifica se o tamanho do objeto gráfico se ajusta automaticamente à célula, o valor padrão disso é false.

O parâmetro opcional OffsetX especifica o deslocamento horizontal do objeto gráfico com a célula, o valor padrão é 0.

O parâmetro opcional OffsetY especifica o deslocamento vertical do objeto gráfico com a célula, o valor padrão é 0.

O parâmetro opcional ScaleX especifica a escala horizontal do objeto gráfico, o valor padrão é 1,0 que representa 100%.

O parâmetro opcional ScaleY especifica a escala vertical do objeto gráfico, o valor padrão é 1,0 que representa 100%.

O parâmetro opcional Hyperlink especifica o hiperlink do objeto gráfico.

O parâmetro opcional HyperlinkType define dois tipos de hiperlink Externo para o site ou Local para mover para uma das células desta pasta de trabalho. Quando HyperlinkType for Location, as coordenadas precisam começar com #.

O parâmetro opcional Positioning define 3 tipos de posição de um objeto gráfico em uma planilha: oneCell (mover mas não dimensionar com células), twoCell (mover e dimensionar com células) e absolute ( Não mova ou dimensione com células). Se você não definir esse parâmetro, o posicionamento padrão será mover e dimensionar com células.

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

AddPictureFromBytes fornece o método para adicionar uma imagem em uma planilha por determinado conjunto de formato de imagem (como deslocamento, escala, configuração de proporção e configurações de impressão), descrição de texto alternativo, nome de extensão e conteúdo do arquivo no tipo []byte.

Por exemplo:

package main

import (
    "fmt"
    _ "image/jpeg"
    "os"

    "github.com/xuri/excelize/v2"
)

func main() {
    f := excelize.NewFile()
    defer func() {
        if err := f.Close(); err != nil {
            fmt.Println(err)
        }
    }()
    if err := f.SetSheetName("Sheet1", "Planilha1"); err != nil {
        fmt.Println(err)
        return
    }
    file, err := os.ReadFile("image.jpg")
    if err != nil {
        fmt.Println(err)
        return
    }
    if err := f.AddPictureFromBytes("Planilha1", "A2", &excelize.Picture{
        Extension: ".jpg",
        File:      file,
        Format:    &excelize.GraphicOptions{AltText: "Logotipo do Excel"},
    }); err != nil {
        fmt.Println(err)
        return
    }
    if err := f.SaveAs("Pasta1.xlsx"); err != nil {
        fmt.Println(err)
    }
}

Obter imagem {#GetPicture}

func (f *File) GetPictures(sheet, cell string) ([]Picture, error)

GetPicture fornece uma função para obter o nome base da imagem e o conteúdo bruto incorporado em uma planilha por meio de uma determinada planilha e nome da célula. Esta função é segura para simultaneidade. Esta função retorna o nome do arquivo na planilha e o conteúdo do arquivo como tipos de dados []byte.

Por exemplo:

f, err := excelize.OpenFile("Pasta1.xlsx")
if err != nil {
    fmt.Println(err)
    return
}
defer func() {
    if err := f.Close(); err != nil {
        fmt.Println(err)
    }
}()
pics, err := f.GetPictures("Planilha1", "A2")
if err != nil {
    fmt.Println(err)
}
for idx, pic := range pics {
    name := fmt.Sprintf("image%d%s", idx+1, pic.Extension)
    if err := os.WriteFile(name, pic.File, 0644); err != nil {
        fmt.Println(err)
    }
}

Excluir imagem {#DeletePicture}

func (f *File) DeletePicture(sheet, cell string) error

DeletePicture fornece uma função para excluir gráficos em uma planilha por determinado nome de planilha e referência de célula. Observe que o arquivo de imagem não será excluído do documento atualmente.