Controlli del modulo
FormControl mappa direttamente le informazioni sui controlli del modulo.
type FormControl struct {
Cell string
Macro string
Width uint
Height uint
Checked bool
CurrentVal uint
MinVal uint
MaxVal uint
IncChange uint
PageChange uint
Horizontally bool
CellLink string
Text string
Paragraph []RichTextRun
Type FormControlType
Format GraphicOptions
}
Aggiungi il controllo del modulo
func (f *File) AddFormControl(sheet string, opts FormControl) error
AddFormControl fornisce il metodo per aggiungere il pulsante di controllo del modulo in un foglio di lavoro in base al nome del foglio di lavoro e alle opzioni di controllo del modulo. Tipo di controllo modulo supportato: pulsante, casella di controllo, casella di gruppo, etichetta, pulsante di opzione, barra di scorrimento e casella di selezione. Se viene impostata una macro per il controllo del modulo, l'estensione della cartella di lavoro dovrebbe essere .xlsm o .xltm. Il valore di scorrimento deve essere compreso tra 0 e 30000. Si noti che se è impostato un collegamento di cella per un controllo modulo casella di controllo, Excelize non assegnerà un valore alla cella collegata quando la casella di controllo è selezionata. Per riflettere lo stato della casella di controllo, utilizzare la funzione SetCellValue per impostare manualmente il valore della cella collegata su true.
Esempio 1, aggiungi il controllo del modulo del pulsante con macro, rich-text, dimensione del pulsante personalizzata, proprietà di stampa su Foglio1!A2 e lascia che il pulsante non si sposti o non si ridimensioni con le celle:

enable := true
err := f.AddFormControl("Foglio1", excelize.FormControl{
Cell: "A2",
Type: excelize.FormControlButton,
Macro: "Button1_Click",
Width: 140,
Height: 60,
Text: "Pulsante 1\r\n",
Paragraph: []excelize.RichTextRun{
{
Font: &excelize.Font{
Bold: true,
Italic: true,
Underline: "single",
Family: "Times New Roman",
Size: 14,
Color: "777777",
},
Text: "C1=A1+B1",
},
},
Format: excelize.GraphicOptions{
PrintObject: &enable,
Positioning: "absolute",
},
})
Esempio 2, aggiungi i controlli del modulo del pulsante di opzione con stato selezionato e testo su Foglio1!A1 e Foglio1!A2:

if err := f.AddFormControl("Foglio1", excelize.FormControl{
Cell: "A1",
Type: excelize.FormControlOptionButton,
Text: "Pulsante di opzione 1",
Checked: true,
Height: 20,
}); err != nil {
fmt.Println(err)
}
if err := f.AddFormControl("Foglio1", excelize.FormControl{
Cell: "A2",
Type: excelize.FormControlOptionButton,
Text: "Pulsante di opzione 2",
Height: 20,
}); err != nil {
fmt.Println(err)
}
Esempio 3, aggiungi il controllo del modulo del pulsante di selezione su Foglio1!B1 per aumentare o diminuire il valore di Foglio1!A1:

err := f.AddFormControl("Foglio1", excelize.FormControl{
Cell: "B1",
Type: excelize.FormControlSpinButton,
Width: 15,
Height: 40,
CurrentVal: 7,
MinVal: 5,
MaxVal: 10,
IncChange: 1,
CellLink: "A1",
})
Esempio 4, aggiungi il controllo del modulo con barra di scorrimento orizzontale su Foglio1!A2 per modificare il valore di Foglio1!A1 facendo clic sulle frecce di scorrimento o trascinando la casella di scorrimento:

err := f.AddFormControl("Foglio1", excelize.FormControl{
Cell: "A2",
Type: excelize.FormControlScrollBar,
Width: 140,
Height: 20,
CurrentVal: 50,
MinVal: 10,
MaxVal: 100,
IncChange: 1,
PageChange: 1,
CellLink: "A1",
Horizontally: true,
})
Ottieni i controlli del modulo
func (f *File) GetFormControls(sheet string) ([]FormControl, error)
GetFormControls recupera tutti i controlli del modulo in un foglio di lavoro in base a un determinato nome del foglio di lavoro. Tieni presente che questa funzione al momento non supporta l'ottenimento della larghezza e dell'altezza dei controlli del modulo.
Elimina il controllo del modulo
func (f *File) DeleteFormControl(sheet, cell string) error
DeleteFormControl fornisce il metodo per eliminare il controllo del modulo in un foglio di lavoro in base al nome del foglio di lavoro e al riferimento alla cella. Ad esempio, elimina il controllo del modulo in Foglio1!$A$1:
err := f.DeleteFormControl("Foglio1", "A1")