Immagine
Aggiungi immagine
func (f *File) AddPicture(sheet, cell, picture string, opts *GraphicOptions) error
AddPicture fornisce il metodo per aggiungere un'immagine a un foglio di lavoro in base al formato immagine impostato (come offset, scala, impostazione delle proporzioni e impostazioni di stampa) e percorso del file. Questa funzione è sicura per la concorrenza.
Per esempio:
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", "Foglio1"); err != nil {
fmt.Println(err)
return
}
// Inserisci un'immagine.
if err := f.AddPicture("Foglio1", "A2", "image.png", nil); err != nil {
fmt.Println(err)
return
}
// Inserisci un'immagine in scala nella cella con il collegamento
// ipertestuale della posizione.
enable, disable := true, false
if err := f.AddPicture("Foglio1", "D2", "image.jpg",
&excelize.GraphicOptions{
ScaleX: 0.5,
ScaleY: 0.5,
Hyperlink: "#Foglio2!D8",
HyperlinkType: "Location",
},
); err != nil {
fmt.Println(err)
return
}
// Inserisci un offset dell'immagine nella cella con collegamento
// ipertestuale esterno, supporto per la stampa e il posizionamento.
if err := f.AddPicture("Foglio1", "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("Cartel1.xlsx"); err != nil {
fmt.Println(err)
}
}
Il parametro opzionale AltText
viene utilizzato per aggiungere testo alternativo a un oggetto grafico.
Il parametro opzionale PrintObject
indica se l'oggetto grafico viene stampato quando viene stampato il foglio di lavoro, il valore predefinito è true
.
Il parametro opzionale Locked
indica se bloccare l'oggetto grafico. Bloccare un oggetto non ha alcun effetto a meno che il foglio non sia protetto.
Il parametro facoltativo LockAspectRatio
indica se bloccare le proporzioni per l'oggetto grafico, il cui valore predefinito è false
.
Il parametro facoltativo AutoFit
specifica se la dimensione dell'oggetto grafico si adatta automaticamente alla cella, il cui valore predefinito è false
.
Il parametro opzionale OffsetX
specifica l'offset orizzontale dell'oggetto grafico con la cella, il cui valore predefinito è 0.
Il parametro opzionale OffsetY
specifica l'offset verticale dell'oggetto grafico con la cella, il cui valore predefinito è 0.
Il parametro opzionale ScaleX
specifica la scala orizzontale dell'oggetto grafico, il cui valore predefinito è 1.0 che rappresenta il 100%.
Il parametro opzionale ScaleY
specifica la scala verticale dell'oggetto grafico, il cui valore predefinito è 1.0 che rappresenta il 100%.
Il parametro opzionale Hyperlink
specifica il collegamento ipertestuale dell'oggetto grafico.
Il parametro facoltativo HyperlinkType
definisce due tipi di collegamento ipertestuale External
per il sito Web o Location
per spostarsi in una delle celle di questa cartella di lavoro. Quando HyperlinkType
è Location
, le coordinate devono iniziare con #
.
Il parametro opzionale Positioning
definisce 3 tipi di posizione di un oggetto grafico in un foglio di calcolo: oneCell
(Sposta ma non ridimensiona con le celle), twoCell
(Sposta e ridimensiona con le celle) e absolute
( Non spostare o ridimensionare con le celle). Se non imposti questo parametro, il posizionamento predefinito prevede lo spostamento e il ridimensionamento con le celle.
func (f *File) AddPictureFromBytes(sheet, cell string, pic *Picture) error
AddPictureFromBytes fornisce il metodo per aggiungere un'immagine in un foglio in base a un determinato formato immagine impostato (come offset, scala, impostazione delle proporzioni e impostazioni di stampa), descrizione del testo alternativo, nome dell'estensione e contenuto del file nel tipo []byte
.
Per esempio:
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", "Foglio1"); err != nil {
fmt.Println(err)
return
}
file, err := os.ReadFile("immagine.jpg")
if err != nil {
fmt.Println(err)
return
}
if err := f.AddPictureFromBytes("Foglio1", "A2", &excelize.Picture{
Extension: ".jpg",
File: file,
Format: &excelize.GraphicOptions{AltText: "Logo Excel"},
}); err != nil {
fmt.Println(err)
return
}
if err := f.SaveAs("Cartel1.xlsx"); err != nil {
fmt.Println(err)
}
}
Ottieni immagine
func (f *File) GetPictures(sheet, cell string) ([]Picture, error)
GetPicture fornisce una funzione per ottenere il nome base dell'immagine e il contenuto non elaborato incorporato in un foglio di calcolo in base al foglio di lavoro e al nome della cella specificati. Questa funzione è sicura per la concorrenza. Questa funzione restituisce il nome del file nel foglio di calcolo e il contenuto del file come tipi di dati []byte
.
Per esempio:
f, err := excelize.OpenFile("Cartel1.xlsx")
if err != nil {
fmt.Println(err)
return
}
defer func() {
if err := f.Close(); err != nil {
fmt.Println(err)
}
}()
pics, err := f.GetPictures("Foglio1", "A2")
if err != nil {
fmt.Println(err)
}
for idx, pic := range pics {
name := fmt.Sprintf("immagine%d%s", idx+1, pic.Extension)
if err := os.WriteFile(name, pic.File, 0644); err != nil {
fmt.Println(err)
}
}
Elimina immagine
func (f *File) DeletePicture(sheet, cell string) error
DeletePicture fornisce una funzione per eliminare i grafici in un foglio di calcolo in base al nome del foglio di lavoro e al riferimento alla cella. Tieni presente che al momento il file immagine non verrà eliminato dal documento.