Formular-Steuerelemente
FormControl ordnet die Formularsteuerinformationen direkt zu.
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
}
Hinzufügen von Formularsteuerelementen
func (f *File) AddFormControl(sheet string, opts FormControl) error
AddFormControl stellt die Methode zum Hinzufügen einer Formularsteuerschaltfläche in einem Arbeitsblatt bereit, indem der Arbeitsblattname und die Formularsteueroptionen angegeben werden. Unterstützte Formularsteuerelementtypen: Schaltfläche, Kontrollkästchen, Gruppenfeld, Beschriftung, Optionsschaltfläche, Bildlaufleiste und Spinner. Wenn ein Makro für das Formularsteuerelement festgelegt wird, sollte die Arbeitsmappenerweiterung .xlsm
oder .xltm
sein. Der Bildlaufwert muss zwischen 0 und 30000 liegen.
Beispiel 1: Fügen Sie eine Schaltflächenformularsteuerung mit Makro, Rich-Text, benutzerdefinierter Schaltflächengröße und Druckeigenschaft auf Tabelle1!A2
hinzu und lassen Sie die Schaltfläche nicht mit den Zellen verschieben oder ihre Größe ändern:
enable := true
err := f.AddFormControl("Tabelle1", excelize.FormControl{
Cell: "A2",
Type: excelize.FormControlButton,
Macro: "Button1_Click",
Width: 140,
Height: 60,
Text: "Button 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",
},
})
Beispiel 2: Optionsfeld-Formularsteuerelemente mit aktiviertem Status und Text auf Tabelle1!A1
und Tabelle1!A2
hinzufügen:
if err := f.AddFormControl("Tabelle1", excelize.FormControl{
Cell: "A1",
Type: excelize.FormControlOptionButton,
Text: "Option Button 1",
Checked: true,
Height: 20,
}); err != nil {
fmt.Println(err)
}
if err := f.AddFormControl("Tabelle1", excelize.FormControl{
Cell: "A2",
Type: excelize.FormControlOptionButton,
Text: "Option Button 2",
Height: 20,
}); err != nil {
fmt.Println(err)
}
Beispiel 3: Fügen Sie ein Drehschaltflächen-Formularsteuerelement zu Tabelle1!B1
hinzu, um den Wert von Tabelle1!A1
zu erhöhen oder zu verringern:
err := f.AddFormControl("Tabelle1", excelize.FormControl{
Cell: "B1",
Type: excelize.FormControlSpinButton,
Width: 15,
Height: 40,
CurrentVal: 7,
MinVal: 5,
MaxVal: 10,
IncChange: 1,
CellLink: "A1",
})
Beispiel 4: Fügen Sie ein Formularsteuerelement mit horizontaler Bildlaufleiste zu Tabelle1!A2
hinzu, um den Wert von Tabelle1!A1
zu ändern, indem Sie auf die Bildlaufpfeile klicken oder das Bildlauffeld ziehen:
err := f.AddFormControl("Tabelle1", 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,
})
Holen Sie sich Formularsteuerelemente
func (f *File) GetFormControls(sheet string) ([]FormControl, error)
GetFormControls ruft alle Formularsteuerelemente in einem Arbeitsblatt nach einem bestimmten Arbeitsblattnamen ab. Beachten Sie, dass diese Funktion derzeit nicht das Abrufen der Breite und Höhe der Formularsteuerelemente unterstützt.
Löschen Sie die Formularsteuerelemente
func (f *File) DeleteFormControl(sheet, cell string) error
DeleteFormControl bietet die Methode zum Löschen von Formularsteuerelementen in einem Arbeitsblatt anhand des angegebenen Arbeitsblattnamens und der Zellreferenz. Löschen Sie beispielsweise das Formularsteuerelement in Tabelle1!$A$1
:
err := f.DeleteFormControl("Tabelle1", "A1")