Arbeitsmappe

Options definiert die Optionen zum Lesen und Schreiben von Tabellenkalkulationen.

type Options struct {
    MaxCalcIterations uint
    Password          string
    RawCellValue      bool
    UnzipSizeLimit    int64
    UnzipXMLSizeLimit int64
    ShortDatePattern  string
    LongDatePattern   string
    LongTimePattern   string
    CultureInfo       CultureName
}

MaxCalcIterations gibt die maximalen Iterationen für die iterative Berechnung an, der Standardwert ist 0.

Password gibt das Passwort der Tabellenkalkulation im Klartext an.

RawCellValue gibt an, ob das Zahlenformat für den Zellenwert angewendet oder der Rohwert abgerufen wird.

UnzipSizeLimit gibt die Entpack-Größenbeschränkung in Bytes beim Öffnen der Tabelle an. Dieser Wert sollte größer oder gleich UnzipXMLSizeLimit sein, die Standardgrößenbeschränkung beträgt 16GB.

UnzipXMLSizeLimit gibt das Speicherlimit beim Entpacken des Arbeitsblatts und der freigegebenen Stringtabelle in Bytes an. Arbeitsblatt-XML wird in das temporäre Systemverzeichnis extrahiert, wenn die Dateigröße diesen Wert überschreitet. Dieser Wert sollte kleiner oder gleich UnzipSizeLimit sein, der Standardeinstellung Wert ist 16MB.

ShortDatePattern gibt den Formatcode für kurze Datumszahlen an. In den Tabellenkalkulationsanwendungen zeigen Datumsformate Datums- und Uhrzeitseriennummern als Datumswerte an. Datumsformate, die mit einem Sternchen (*) beginnen, reagieren auf Änderungen der regionalen Datums- und Uhrzeiteinstellungen, die für das Betriebssystem angegeben sind. Formate ohne Sternchen werden von den Betriebssystemeinstellungen nicht beeinflusst. Das ShortDatePattern, das für verwendet wird, gibt Datumsformate an, die mit einem Sternchen beginnen.

LongDatePattern gibt den Formatcode für lange Datumszahlen an.

LongTimePattern gibt den Formatcode für Langzeitzahlen an.

CultureInfo gibt den Ländercode für die Anwendung des integrierten Zahlenformatcodes in der Sprache an, der sich auf die lokalen Spracheinstellungen des Systems auswirkt.

Erstellen einer Kalkulationstabelle

func NewFile(opts ...Options) *File

NewFile bietet eine Funktion zum Erstellen einer neuen Datei als Standardvorlage. Die neu erstellte Arbeitsmappe enthält standardmäßig ein Arbeitsblatt mit dem Namen Sheet1. Zum Beispiel:

Öffnen

func OpenFile(filename string, opts ...Options) (*File, error)

OpenFile nimmt den Namen einer Tabellenkalkulationsdatei an und gibt dafür eine aufgefüllte Tabellenkalkulationsdateistruktur zurück. Öffnen Sie beispielsweise eine Kalkulationstabelle mit Kennwortschutz:

f, err := excelize.OpenFile("Book1.xlsx", excelize.Options{Password: "password"})
if err != nil {
    return
}

Schließen Sie die Datei von Close(), nachdem Sie die Tabelle geöffnet haben.

Offener Datenstrom

func OpenReader(r io.Reader, opts ...Options) (*File, error)

OpenReader liest Datenstrom von io.Reader und gibt eine gefüllte Tabellenkalkulationsdatei zurück.

Erstellen Sie beispielsweise http-Server, um die Upload-Vorlage zu verarbeiten, und senden Sie dann eine Antwortdownloaddatei mit einem neuen Arbeitsblatt:

package main

import (
    "fmt"
    "net/http"

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

func process(w http.ResponseWriter, req *http.Request) {
    file, _, err := req.FormFile("file")
    if err != nil {
        fmt.Fprint(w, err.Error())
        return
    }
    defer file.Close()
    f, err := excelize.OpenReader(file)
    if err != nil {
        fmt.Fprint(w, err.Error())
        return
    }
    f.Path = "Book1.xlsx"
    f.NewSheet("NewSheet")
    w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=%s", f.Path))
    w.Header().Set("Content-Type", req.Header.Get("Content-Type"))
    if err := f.Write(w); err != nil {
        fmt.Fprint(w, err.Error())
    }
}

func main() {
    http.HandleFunc("/process", process)
    http.ListenAndServe(":8090", nil)
}

Test mit cURL:

curl --location --request GET 'http://127.0.0.1:8090/process' \
--form 'file=@/tmp/template.xltx' -O -J

Speichern

func (f *File) Save(opts ...Options) error

Save bietet eine Funktion zum Überschreiben der Tabellenkalkulationsdatei mit dem Ursprungspfad.

Speichern als

func (f *File) SaveAs(name string, opts ...Options) error

SaveAs bietet eine Funktion zum Erstellen oder Aktualisieren einer Tabellenkalkulationsdatei unter dem angegebenen Pfad.

Arbeitsmappe schließen

func (f *File) Close() error

Close schließt und bereinigt die geöffnete temporäre Datei für die Kalkulationstabelle.

Arbeitsblatt erstellen

func (f *File) NewSheet(sheet string) (int, error)

NewSheet bietet die Funktion zum Erstellen eines neuen Blatts, indem ein Arbeitsblattname angegeben wird, und gibt den Index der Blätter in der Arbeitsmappe (Spreadsheet) zurück, nachdem es angehängt wurde. Beachten Sie, dass beim Erstellen einer neuen Tabellenkalkulationsdatei das Standardarbeitsblatt mit dem Namen Sheet1 erstellt wird.

Arbeitsblatt löschen

func (f *File) DeleteSheet(sheet string) error

DeleteSheet bietet eine Funktion zum Löschen von Arbeitsblättern in einer Arbeitsmappe nach dem angegebenen Arbeitsblattnamen, bei den Blattnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Verwenden Sie diese Methode mit Vorsicht, da sie sich auf Änderungen in Referenzen wie Formeln, Diagrammen usw. auswirkt. Wenn es einen referenzierten Wert des gelöschten Arbeitsblatts gibt, führt dies zu einem Dateifehler, wenn Sie es öffnen. Diese Funktion ist ungültig, wenn nur noch ein Arbeitsblatt übrig ist.

Arbeitsblatt kopieren

func (f *File) CopySheet(from, to int) error

CopySheet bietet eine Funktion zum Duplizieren eines Arbeitsblatts nach dem gegebenen Quell- und Zielarbeitsblattindex. Beachten Sie, dass derzeit keine doppelten Arbeitsmappen unterstützt werden, die Tabellen, Diagramme oder Bilder enthalten. Zum Beispiel:

// Sheet1 ist bereits vorhanden...
index, err := f.NewSheet("Sheet2")
if err != nil {
    fmt.Println(err)
    return
}
err := f.CopySheet(1, index)

Gruppenarbeitsblätter

func (f *File) GroupSheets(sheets []string) error

GroupSheets bietet eine Funktion zum Gruppieren von Arbeitsblättern nach bestimmten Arbeitsblattnamen. Gruppenarbeitsblätter müssen ein aktives Arbeitsblatt enthalten.

Gruppierung von Arbeitsblättern aufheben

func (f *File) UngroupSheets() error

UngroupSheets bietet eine Funktion zum Aufheben der Gruppierung von Arbeitsblättern.

Festlegen des Arbeitsblatthintergrunds

func (f *File) SetSheetBackground(sheet, picture string) error

SetSheetBackground bietet eine Funktion zum Festlegen eines Hintergrundbilds anhand des angegebenen Arbeitsblattnamens und Dateipfads. Unterstützte Bildtypen: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF und WMZ.

func (f *File) SetSheetBackgroundFromBytes(sheet, extension string, picture []byte) error

SetSheetBackgroundFromBytes bietet eine Funktion zum Festlegen des Hintergrundbilds anhand des angegebenen Arbeitsblattnamens, Erweiterungsnamens und der Bilddaten. Unterstützte Bildtypen: BMP, EMF, EMZ, GIF, JPEG, JPG, PNG, SVG, TIF, TIFF, WMF und WMZ.

Festlegen eines Standardarbeitsblatts

func (f *File) SetActiveSheet(index int)

SetActiveSheet bietet eine Funktion zum Festlegen des aktiven Standardblatts der Arbeitsmappe durch einen bestimmten Index. Beachten Sie, dass sich der aktive Index von der ID unterscheidet, die von der Funktion GetSheetMap zurückgegeben wird. Sie sollte größer oder gleich 0 und kleiner als die Gesamten der Arbeitsblattnummern sein.

Aktives Blattindex abrufen

func (f *File) GetActiveSheetIndex() int

GetActiveSheetIndex bietet eine Funktion zum Abrufen eines aktiven Arbeitsblatts der Arbeitsmappe. Wenn das aktive Blatt nicht gefunden wurde, wird die ganze Zahl 0 zurückgegeben.

Set-Arbeitsblatt sichtbar

func (f *File) SetSheetVisible(sheet string, visible bool, veryHidden ...bool) error

SetSheetVisible bietet eine Funktion zum Festlegen eines Arbeitsblatts, das durch den angegebenen Arbeitsblattnamen sichtbar ist. Eine Arbeitsmappe muss mindestens ein sichtbares Arbeitsblatt enthalten. Wenn das angegebene Arbeitsblatt aktiviert wurde, wird diese Einstellung ungültig. Der dritte optionale veryHidden-Parameter funktioniert nur, wenn visible false war.

Geben Sie beispielsweise Sheet1 aus:

err := f.SetSheetVisible("Sheet1", false)

Arbeitsblatt sichtbar machen

func (f *File) GetSheetVisible(sheet string) (bool, error)

GetSheetVisible bietet eine Funktion, mit der das Arbeitsblatt unter dem angegebenen Arbeitsblattnamen sichtbar gemacht wird. Erhalten Sie beispielsweise den sichtbaren Status von Sheet1:

visible, err := f.GetSheetVisible("Sheet1")

Festlegen von Blatteigenschaften

func (f *File) SetSheetProps(sheet string, opts *SheetPropsOptions) error

SetSheetProps bietet eine Funktion zum Festlegen von Arbeitsblatteigenschaften. Die Eigenschaften, die festgelegt werden können, sind:

Options Typ Beschreibung
CodeName *string Gibt einen stabilen Namen des Blatts an, der sich im Laufe der Zeit nicht ändern sollte und sich nicht durch Benutzereingaben ändert. Dieser Name sollte vom Code verwendet werden, um auf ein bestimmtes Blatt zu verweisen.
EnableFormatConditionsCalculation *bool Gibt an, ob die Berechnungen der bedingten Formatierung ausgewertet werden sollen. Wenn diese Option auf false festgelegt ist, werden die Min/Max-Werte von Farbskalen oder Datenbalken oder Schwellenwerten in Top-N-Regeln nicht aktualisiert. Im Wesentlichen ist die bedingte Formatierung "calc" deaktiviert
Published *bool Gibt an, ob das Arbeitsblatt veröffentlicht wurde, und der Standardwert ist true
AutoPageBreaks *bool Gibt an, ob auf dem Blatt "Automatische Seitenumbrüche" angezeigt werden, ist der Standardwert true
FitToPage *bool Gibt an, ob die Option An Seite anpassen (Anpassen an Seite drucken) aktiviert ist, und der Standardwert ist false
TabColorIndexed *int Stellt den indizierten Farbwert dar
TabColorRGB *string Stellt den standardmäßigen ARGB-Farbwert (Alpha Red Green Blue) dar
TabColorTheme *int Stellt den nullbasierten Index in der Auflistung dar und verweist auf einen bestimmten Wert, der im Designteil ausgedrückt wird
TabColorTint *float64 Gibt den Farbtonwert an, der auf die Farbe angewendet wird, der Standardwert ist 0.0
OutlineSummaryBelow *bool Gibt an, ob Zusammenfassungszeilen in einer Gliederung unter dem Detail angezeigt werden, beim Anwenden einer Gliederung ist der Standardwert true
OutlineSummaryRight *bool Gibt an, ob Zusammenfassungsspalten in einer Gliederung rechts vom Detail angezeigt werden, und beim Anwenden einer Gliederung ist der Standardwert true
BaseColWidth *uint8 Gibt die Anzahl der Zeichen der maximalen Ziffernbreite der Schriftart des normalen Stils an. Dieser Wert enthält keinen Randabstand oder zusätzlichen Abstand für Rasterlinien. Es ist nur die Anzahl der Zeichen, der Standardwert ist 8
DefaultColWidth *float64 Gibt die Standardspaltenbreite an, gemessen als die Anzahl der Zeichen der maximalen Ziffernbreite der Schriftart des normalen Stils
DefaultRowHeight *float64 Gibt die in Punktgröße gemessene Standardzeilenhöhe an. Optimierung, damit wir die Höhe nicht auf alle Zeilen schreiben müssen. Dies kann ausgeschrieben werden, wenn die meisten Zeilen eine benutzerdefinierte Höhe haben, um die Optimierung zu erreichen
CustomHeight *bool Gibt die benutzerdefinierte Höhe an, der Standardwert ist false
ZeroHeight *bool Gibt an, ob Zeilen ausgeblendet sind, der Standardwert ist false
ThickTop *bool Gibt an, ob Zeilen standardmäßig einen dicken oberen Rahmen haben, der Standardwert ist false
ThickBottom *bool Gibt an, ob Zeilen standardmäßig einen dicken unteren Rahmen haben, der Standardwert ist false

Legen Sie beispielsweise fest, dass Arbeitsblattzeilen standardmäßig ausgeblendet sind:

Festlegen von Blatteigenschaften

f, enable := excelize.NewFile(), true
if err := f.SetSheetProps("Sheet1", &excelize.SheetPropsOptions{
    ZeroHeight: &enable,
}); err != nil {
    fmt.Println(err)
}
if err := f.SetRowVisible("Sheet1", 10, true); err != nil {
    fmt.Println(err)
}
f.SaveAs("Book1.xlsx")

Abrufen von Blatteigenschaften

func (f *File) GetSheetProps(sheet string) (SheetPropsOptions, error)

GetSheetProps bietet eine Funktion zum Abrufen von Arbeitsblatteigenschaften. Die Eigenschaften, die festgelegt werden können, sind:

Options Typ Beschreibung
DefaultGridColor *bool Gibt an, dass die konsumierende Anwendung die Standardfarbe der Rasterlinien verwenden sollte (systemabhängig). Überschreibt jede in colorId angegebene Farbe, der Standardwert ist true
RightToLeft *bool Gibt an, ob sich das Blatt im Anzeigemodus "von rechts nach links" befindet. In diesem Modus befindet sich Spalte A ganz rechts, Spalte B; ist eine Spalte links von Spalte A usw. Außerdem werden Informationen in Zellen im Format von rechts nach links angezeigt, der Standardwert ist false
ShowFormulas *bool Wenn Sie angeben, ob in diesem Blatt Formeln angezeigt werden sollen, ist der Standardwert false
ShowGridLines *bool Gibt an, ob auf diesem Blatt Rasterlinien angezeigt werden sollen, ist der Standardwert true
ShowRowColHeaders *bool Wenn Sie angeben, ob auf dem Blatt Zeilen- und Spaltenüberschriften angezeigt werden sollen, ist der Standardwert true
ShowRuler *bool Wenn Sie angeben, dass auf diesem Blatt ein Lineal angezeigt werden soll, ist der Standardwert true
ShowZeros *bool Gibt an, ob "in Zellen mit Nullwert eine Null angezeigt werden soll". Wenn Sie eine Formel verwenden, um auf eine andere leere Zelle zu verweisen, wird der referenzierte Wert zu 0, wenn das Flag true ist, der Standardwert true ist
TopLeftCell *string Gibt eine Position der oberen linken sichtbaren Zelle an Position der oberen linken sichtbaren Zelle im unteren rechten Bereich an (im Links-nach-Rechts-Modus)
View *string Um anzugeben, wie das Blatt angezeigt wird, verwendet es standardmäßig eine leere Zeichenfolge, verfügbare Optionen: normal, pageBreakPreview und pageLayout
ZoomScale *float64 Gibt eine Fensterzoomvergrößerung für die aktuelle Ansicht an, die Prozentwerte darstellt. Dieses Attribut ist auf Werte im Bereich von 10 bis 400 beschränkt. Horizontale und vertikale Skalierung zusammen, der Standardwert ist 100

Festlegen von Arbeitsblattansichtseigenschaften

func (f *File) SetSheetView(sheet string, viewIndex int, opts *ViewOptions) error

SetSheetView legt die Blattansichtseigenschaften fest. Der viewIndex darf negativ sein und wird dann rückwärts gezählt (-1 ist der letzte View).

Abrufen von Arbeitsblattansichtseigenschaften

func (f *File) GetSheetView(sheet string, viewIndex int) (ViewOptions, error)

GetSheetView ruft den Wert der Blattansichtseigenschaften ab. Der viewIndex darf negativ sein und wird dann rückwärts gezählt (-1 ist der letzte View).

Festlegen des Layouts der Arbeitsblattseite

func (f *File) SetPageLayout(sheet string, opts *PageLayoutOptions) error

SetPageLayout bietet eine Funktion zum Festlegen des Seitenlayouts von Arbeitsblättern. Verfügbare Optionen:

Size gibt die Papiergröße des Arbeitsblatts an, die Standardpapiergröße des Arbeitsblatts ist "Briefpapier (8,5 Zoll x 11 Zoll)". Das Folgende zeigt die Papiergröße, sortiert nach der Excelize-Indexnummer:

Index Papiergröße
1 Briefpapier (8.5 in. × 11 in.)
2 Brief kleines Papier (8.5 in. × 11 in.)
3 Tabloidpapier (11 in. × 17 in.)
4 Hauptbuchpapier (17 in. × 11 in.)
5 Rechtsdokument (8.5 in. × 14 in.)
6 Statement Papier (5.5 in. × 8.5 in.)
7 Executive Papier (7.25 in. × 10.5 in.)
8 A3 Papier (297 mm × 420 mm)
9 A4 Papier (210 mm × 297 mm)
10 A4 kleines Papier (210 mm × 297 mm)
11 A5 Papier (148 mm × 210 mm)
12 B4 Papier (250 mm × 353 mm)
13 B5 Papier (176 mm × 250 mm)
14 Foliopapier (8.5 in. × 13 in.)
15 Quartopapier (215 mm × 275 mm)
16 Standardpapier (10 in. × 14 in.)
17 Standardpapier (11 in. × 17 in.)
18 Notizpapier (8.5 in. × 11 in.)
19 Umschlag Nr. 9 (3.875 in. × 8.875 in.)
20 Umschlag Nr. 10 (4.125 in. × 9.5 in.)
21 Umschlag Nr. 11 (4.5 in. × 10.375 in.)
22 Umschlag Nr. 12 (4.75 in. × 11 in.)
23 Umschlag Nr. 14 (5 in. × 11.5 in.)
24 C Papier (17 in. × 22 in.)
25 D Papier (22 in. × 34 in.)
26 E Papier (34 in. × 44 in.)
27 DL-Umschlag (110 mm × 220 mm)
28 C5-Umschlag (162 mm × 229 mm)
29 C3-Umschlag (324 mm × 458 mm)
30 C4-Umschlag (229 mm × 324 mm)
31 C6-Umschlag (114 mm × 162 mm)
32 C65-Umschlag (114 mm × 229 mm)
33 B4-Umschlag (250 mm × 353 mm)
34 B5-Umschlag (176 mm × 250 mm)
35 B6-Umschlag (176 mm × 125 mm)
36 Italien Umschlag (110 mm × 230 mm)
37 Monarch Umschlag (3.875 in. × 7.5 in.).
38 6¾ Umschlag (3.625 in. × 6.5 in.)
39 US Standard-Lüfterfalte (14.875 in. × 11 in.)
40 Deutsche Standard-Lüfterfalte (8.5 in. × 12 in.)
41 Deutsche Rechtsfanfalte (8.5 in. × 13 in.)
42 ISO B4 (250 mm × 353 mm)
43 Japanische Postkarte (100 mm × 148 mm)
44 Standardpapier (9 in. × 11 in.)
45 Standardpapier (10 in. × 11 in.)
46 Standardpapier (15 in. × 11 in.)
47 Umschlag einladen (220 mm × 220 mm)
50 Brief extra Papier (9.275 in. × 12 in.)
51 Legal zusätzliches Papier (9.275 in. × 15 in.)
52 Tabloid zusätzliches Papier (11.69 in. × 18 in.)
53 A4 zusätzliches Papier (236 mm × 322 mm)
54 Brief Querpapier (8.275 in. × 11 in.)
55 A4 Querpapier (210 mm × 297 mm)
56 Brief extra Querpapier (9.275 in. × 12 in.)
57 SuperA/SuperA/A4 papier (227 mm × 356 mm)
58 SuperB/SuperB/A3 papier (305 mm × 487 mm)
59 Brief plus Papier (8.5 in. × 12.69 in.)
60 A4 plus Papier (210 mm × 330 mm)
61 A5 Querpapier (148 mm × 210 mm)
62 JIS B5 Querpapier (182 mm × 257 mm)
63 A3 zusätzliches Papier (322 mm × 445 mm)
64 A5 zusätzliches Papier (174 mm × 235 mm)
65 ISO B5 zusätzliches Papier (201 mm × 276 mm)
66 A2 papier (420 mm × 594 mm)
67 A3 Querpapier (297 mm × 420 mm)
68 A3 zusätzliches Querpapier (322 mm × 445 mm)
69 Japanische Doppelpostkarte (200 mm × 148 mm)
70 A6 (105 mm × 148 mm)
71 Japanischer Umschlag Kaku # 2
72 Japanischer Umschlag Kaku # 3
73 Japanischer Umschlag Chou # 3
74 Japanischer Umschlag Chou # 4
75 Buchstabe gedreht (11 × 8½ in.)
76 A3 gedreht (420 mm × 297 mm)
77 A4 gedreht (297 mm × 210 mm)
78 A5 gedreht (210 mm × 148 mm)
79 B4 (JIS) gedreht (364 mm × 257 mm)
80 B5 (JIS) gedreht (257 mm × 182 mm)
81 Japanische Postkarte gedreht (148 mm × 100 mm)
82 Doppelte japanische Postkarte gedreht (148 mm × 200 mm)
83 A6 gedreht (148 mm × 105 mm)
84 Japanischer Umschlag Kaku # 2 gedreht
85 Japanischer Umschlag Kaku # 3 gedreht
86 Japanischer Umschlag Chou # 3 gedreht
87 Japanischer Umschlag Chou # 4 gedreht
88 B6 (JIS) (128 mm × 182 mm)
89 B6 (JIS) gedreht (182 mm × 128 mm)
90 (12 in × 11 in)
91 Japanischer Umschlag Sie # 4
92 Japanischer Umschlag Sie # 4 gedreht
93 PRC 16K (146 mm × 215 mm)
94 PRC 32K (97 mm × 151 mm)
95 PRC 32K(Big) (97 mm × 151 mm)
96 PRC-Umschlag Nr. #1 (102 mm × 165 mm)
97 PRC-Umschlag Nr. #2 (102 mm × 176 mm)
98 PRC-Umschlag Nr. #3 (125 mm × 176 mm)
99 PRC-Umschlag Nr. #4 (110 mm × 208 mm)
100 PRC-Umschlag Nr. #5 (110 mm × 220 mm)
101 PRC-Umschlag Nr. #6 (120 mm × 230 mm)
102 PRC-Umschlag Nr. #7 (160 mm × 230 mm)
103 PRC-Umschlag Nr. #8 (120 mm × 309 mm)
104 PRC-Umschlag Nr. #9 (229 mm × 324 mm)
105 PRC-Umschlag Nr. #10 (324 mm × 458 mm)
106 PRC 16K gedreht
107 PRC 32K gedreht
108 PRC 32K (groß) gedreht
109 PRC-Umschlag Nr. 1 gedreht (165 mm × 102 mm)
110 PRC-Umschlag Nr. 2 gedreht (176 mm × 102 mm)
111 PRC-Umschlag Nr. 3 gedreht (176 mm × 125 mm)
112 PRC-Umschlag Nr. 4 gedreht (208 mm × 110 mm)
113 PRC-Umschlag Nr. 5 gedreht (220 mm × 110 mm)
114 PRC-Umschlag Nr. 6 gedreht (230 mm × 120 mm)
115 PRC-Umschlag Nr. 7 gedreht (230 mm × 160 mm)
116 PRC-Umschlag Nr. 8 gedreht (309 mm × 120 mm)
117 PRC-Umschlag Nr. 9 gedreht (324 mm × 229 mm)
118 PRC-Umschlag Nr. 10 gedreht (458 mm × 324 mm)

Orientation gibt die Arbeitsblattausrichtung an, die Standardausrichtung ist portrait. Die möglichen Werte für dieses Feld sind portrait und landscape.

FirstPageNumber gibt die erste gedruckte Seitenzahl an. Wenn kein Wert angegeben ist, wird "automatisch" angenommen.

AdjustTo spezifiziert die Druckskalierung. Dieses Attribut ist auf Werte zwischen 10 (10 %) und 400 (400 %) beschränkt. Diese Einstellung wird außer Kraft gesetzt, wenn FitToWidth und/oder FitToHeight verwendet werden.

FitToHeight gibt die Anzahl der vertikalen Seiten an, auf die angepasst werden soll.

FitToWidth gibt die Anzahl der horizontalen Seiten an, die angepasst werden sollen.

BlackAndWhite spezifiziert Schwarz-Weiß-Druck.

Legen Sie beispielsweise das Seitenlayout für Sheet1 mit Schwarzweißdruck, erste gedruckte Seitenzahl von 2, kleines A4-Querformatpapier (210 mm x 297 mm), 2 vertikale Seiten zum Anpassen und 2 horizontale Seiten zum Anpassen:

f := excelize.NewFile()
var (
    size                 = 10
    orientation          = "landscape"
    firstPageNumber uint = 2
    adjustTo        uint = 100
    fitToHeight          = 2
    fitToWidth           = 2
    blackAndWhite        = true
)
if err := f.SetPageLayout("Sheet1", &excelize.PageLayoutOptions{
    Size:            &size,
    Orientation:     &orientation,
    FirstPageNumber: &firstPageNumber,
    AdjustTo:        &adjustTo,
    FitToHeight:     &fitToHeight,
    FitToWidth:      &fitToWidth,
    BlackAndWhite:   &blackAndWhite,
}); err != nil {
    fmt.Println(err)
}

Abrufen des Layouts der Arbeitsblattseite

func (f *File) GetPageLayout(sheet string) (PageLayoutOptions, error)

GetPageLayout bietet eine Funktion zum Abrufen des Seitenlayouts des Arbeitsblatts.

Festlegen von Arbeitsblattseitenrändern

func (f *File) SetPageMargins(sheet string, opts *PageLayoutMarginsOptions) error

SetPageMargins bietet eine Funktion zum Festlegen der Seitenränder von Arbeitsblättern. Verfügbare Optionen:

Options Typ Beschreibung
Bottom *float64 Unten
Footer *float64 Fußzeile
Header *float64 Kopfball
Left *float64 Links
Right *float64 Rechts
Top *float64 Oben
Horizontally *bool Auf Seite zentrieren: Horizontal
Vertically *bool Auf Seite zentrieren: Vertikal

Abrufen von Arbeitsblattseitenrändern

func (f *File) GetPageMargins(sheet string) (PageLayoutMarginsOptions, error)

GetPageMargins bietet eine Funktion zum Abrufen von Arbeitsblattseitenrändern.

Arbeitsmappeneigenschaften festlegen

func (f *File) SetWorkbookProps(opts *WorkbookPropsOptions) error

SetWorkbookProps bietet eine Funktion zum Festlegen von Arbeitsmappeneigenschaften. Verfügbare Optionen:

Options Typ Beschreibung
Date1904 *bool Gibt an, ob beim Konvertieren serieller Datums-/Uhrzeitangaben in der Arbeitsmappe in Datumsangaben ein Datumssystem von 1900 oder 1904 verwendet werden soll.
FilterPrivacy *bool Gibt einen booleschen Wert an, der angibt, ob die Anwendung die Arbeitsmappe auf personenbezogene Daten (Personally Identifying Information, PII) überprüft hat. Wenn dieses Flag gesetzt ist, warnt die Anwendung den Benutzer jedes Mal, wenn der Benutzer eine Aktion ausführt, die PII in das Dokument einfügt.
CodeName *string Gibt den Codenamen der Anwendung an, die diese Arbeitsmappe erstellt hat. Verwenden Sie dieses Attribut, um Dateiinhalte in inkrementellen Versionen der Anwendung nachzuverfolgen.

Arbeitsmappeneigenschaften abrufen

func (f *File) GetWorkbookProps() (WorkbookPropsOptions, error)

GetWorkbookProps bietet eine Funktion zum Abrufen von Arbeitsmappeneigenschaften.

Kopf- und Fußzeile einstellen

func (f *File) SetHeaderFooter(sheet string, opts *HeaderFooterOptions) error

SetHeaderFooter bietet eine Funktion zum Festlegen von Kopf- und Fußzeilen anhand des angegebenen Arbeitsblattnamens und der Steuerzeichen.

Kopf- und Fußzeilen werden in den folgenden Einstellungsfeldern angegeben:

Felder Beschreibung
AlignWithMargins Richten Sie die Fußzeilenränder der Kopfzeilen an den Seitenrändern aus
DifferentFirst Unterschiedliche Kopf- und Fußzeile der ersten Seite
DifferentOddEven Unterschiedliche ungerade und gerade Seitenkopf- und Fußzeilenanzeige
ScaleWithDoc Skalieren Sie Kopf- und Fußzeile mit Dokumentenskalierung
OddFooter Ungerade Seitenfußzeile oder primäre Seitenfußzeile, wenn DifferentOddEven false ist
OddHeader Ungerader Header oder primärer Seitenheader, wenn DifferentOddEven false ist
EvenFooter Sogar Seitenfußzeile
EvenHeader Sogar Seitenüberschriften
FirstFooter Fußzeile der ersten Seite
FirstHeader Kopfzeile der ersten Seite

Die folgenden Formatierungscodes können in Feldern mit 6 Zeichenfolgentypen verwendet werden: OddHeader, OddFooter, EvenHeader, EvenFooter, FirstFooter, FirstHeader

Code formatieren Beschreibung
&& Der Charakter "&"
&font-size Größe der Textschrift, wobei die Schriftgröße eine dezimale Schriftgröße in Punkten ist
&"font name,font type" Eine Textschriftartennamenzeichenfolge, ein Schriftartname und eine Textschriftartenzeichenfolge, ein Schrifttyp
&"-,Regular" Normales Textformat. Schaltet den Fett- und Kursivmodus aus
&A Name der Registerkarte des aktuellen Arbeitsblatts
&B or &"-,Bold" Fettgedrucktes Textformat von Aus nach Ein oder umgekehrt. Der Standardmodus ist ausgeschaltet
&D Aktuelles Datum
&C Mittelteil
&E Textformat mit doppelter Unterstreichung
&F Dateiname der aktuellen Arbeitsmappe
&G Objekt als Hintergrund zeichnen (wird derzeit nicht unterstützt)
&H Schattentextformat
&I or &"-,Italic" Kursives Textformat
&K Textschriftfarbe
Eine RGB-Farbe wird als RRGGBB angegeben
Eine Themenfarbe wird als TTSNNN angegeben, wobei TT die Themenfarben-ID ist, S ist entweder "+" oder "-" des Farbton- / Farbtonwerts und NNN ist der Farbton- / Farbtonwert
&L Linker Abschnitt
&N Gesamtzahl der Seiten
&O Gliederungstextformat
&P[[+\|-]n] Ohne das optionale Suffix wird die aktuelle Seitenzahl dezimal angegeben
&R Rechter Abschnitt
&S Durchgestrichenes Textformat
&T Aktuelle Uhrzeit
&U Textformat mit einer Unterstreichung. Wenn der Doppelunterstreichungsmodus aktiviert ist, schaltet das nächste Vorkommen in einem Abschnittsspezifizierer den Doppelunterstreichungsmodus aus. Andernfalls wird der Einzelunterstreichungsmodus von Aus auf Ein oder umgekehrt umgeschaltet. Der Standardmodus ist ausgeschaltet
&X Hochgestelltes Textformat
&Y Tiefgestelltes Textformat
&Z Aktueller Pfad der Arbeitsmappendatei

Zum Beispiel:

err := f.SetHeaderFooter("Sheet1", &excelize.HeaderFooterOptions{
    DifferentFirst:   true,
    DifferentOddEven: true,
    OddHeader:        "&R&P",
    OddFooter:        "&C&F",
    EvenHeader:       "&L&P",
    EvenFooter:       "&L&D&R&T",
    FirstHeader:      `&CCenter &"-,Bold"Bold&"-,Regular"HeaderU+000A&D`,
})

Dieses Beispiel zeigt:

  • Die erste Seite hat eine eigene Kopf- und Fußzeile
  • Ungerade und gerade nummerierte Seiten haben unterschiedliche Kopf- und Fußzeilen
  • Aktuelle Seitenzahl im rechten Bereich der Überschriften für ungerade Seiten
  • Der Dateiname der aktuellen Arbeitsmappe im mittleren Bereich der Fußzeilen für ungerade Seiten
  • Aktuelle Seitenzahl im linken Bereich der Überschriften mit geraden Seiten
  • Aktuelles Datum im linken Bereich und aktuelle Uhrzeit im rechten Bereich der Fußzeilen mit geraden Seiten
  • Der Text "Center Bold Header" in der ersten Zeile des mittleren Abschnitts der ersten Seite und das Datum in der zweiten Zeile des mittleren Abschnitts derselben Seite
  • Keine Fußzeile auf der ersten Seite

Definierter Name festlegen

func (f *File) SetDefinedName(definedName *DefinedName) error

SetDefinedName bietet eine Funktion zum Festlegen der definierten Namen der Arbeitsmappe oder des Arbeitsblatts. Wenn kein Bereich angegeben ist, ist der Standardbereich die Arbeitsmappe. Zum Beispiel:

err := f.SetDefinedName(&excelize.DefinedName{
    Name:     "Amount",
    RefersTo: "Sheet1!$A$2:$D$5",
    Comment:  "defined name comment",
    Scope:    "Sheet2",
})

Einstellungen für Druckbereich und Drucktitel für das Arbeitsblatt:

Einstellungen für Druckbereich und Drucktitel für das Arbeitsblatt

if err := f.SetDefinedName(&excelize.DefinedName{
    Name:     "_xlnm.Print_Area",
    RefersTo: "Sheet1!$A$1:$Z$100",
    Scope:    "Sheet1",
}); err != nil {
    fmt.Println(err)
}
if err := f.SetDefinedName(&excelize.DefinedName{
    Name:     "_xlnm.Print_Titles",
    RefersTo: "Sheet1!$A:$A,Sheet1!$1:$1",
    Scope:    "Sheet1",
}); err != nil {
    fmt.Println(err)
}

Definierten Namen abrufen

func (f *File) GetDefinedName() []DefinedName

GetDefinedName bietet eine Funktion zum Abrufen der definierten Namen der Arbeitsmappe oder des Arbeitsblatts.

Definierter Name löschen

func (f *File) DeleteDefinedName(definedName *DefinedName) error

DeleteDefinedName bietet eine Funktion zum Löschen der definierten Namen der Arbeitsmappe oder des Arbeitsblatts. Wenn kein Bereich angegeben ist, ist der Standardbereich die Arbeitsmappe. Zum Beispiel:

err := f.DeleteDefinedName(&excelize.DefinedName{
    Name:     "Amount",
    Scope:    "Sheet2",
})

Anwendungseigenschaften festlegen

func (f *File) SetAppProps(appProperties *AppProperties) error

SetAppProps bietet eine Funktion zum Festlegen von Dokumentanwendungseigenschaften. Folgende Eigenschaften können eingestellt werden:

Eigentum Beschreibung
Application Der Name der Anwendung, die dieses Dokument erstellt hat.
ScaleCrop Zeigt den Anzeigemodus der Dokumentminiaturansicht an. Setzen Sie dieses Element auf true, um die Skalierung der Dokumentminiaturansicht auf die Anzeige zu ermöglichen. Setzen Sie dieses Element auf false, um das Zuschneiden der Dokumentminiaturansicht zu ermöglichen, um nur Abschnitte anzuzeigen, die in die Anzeige passen.
DocSecurity Sicherheitsstufe eines Dokuments als numerischer Wert. Die Dokumentsicherheit ist wie folgt definiert:
1 - Das Dokument ist passwortgeschützt.
2 - Es wird empfohlen, dass das Dokument schreibgeschützt geöffnet wird.
3 - Das Öffnen des Dokuments wird erzwungen als schreibgeschützt.
4 - Dokument ist für Anmerkungen gesperrt.
Company Der Name einer mit dem Dokument verknüpften Firma.
LinksUpToDate Gibt an, ob Hyperlinks in einem Dokument aktuell sind. Setzen Sie dieses Element auf true, um anzuzeigen, dass Hyperlinks aktualisiert werden. Setzen Sie dieses Element auf false, um anzuzeigen, dass Hyperlinks veraltet sind.
HyperlinksChanged Gibt an, dass ein oder mehrere Hyperlinks in diesem Teil ausschließlich in diesem Teil von einem Produzenten aktualisiert wurden. Der nächste Produzent, der dieses Dokument öffnet, aktualisiert die Hyperlink-Beziehungen mit den neuen Hyperlinks, die in diesem Teil angegeben sind.
AppVersion Gibt die Version der Anwendung an, die dieses Dokument erstellt hat. Der Inhalt dieses Elements muss die Form XX.YYYY haben, wobei X und Y numerische Werte darstellen, oder das Dokument gilt als nicht konform.

Zum Beispiel:

err := f.SetAppProps(&excelize.AppProperties{
    Application:       "Microsoft Excel",
    ScaleCrop:         true,
    DocSecurity:       3,
    Company:           "Company Name",
    LinksUpToDate:     true,
    HyperlinksChanged: true,
    AppVersion:        "16.0000",
})

Anwendungseigenschaften abrufen

func (f *File) GetAppProps() (*AppProperties, error)

GetAppProps bietet eine Funktion zum Abrufen von Dokumentanwendungseigenschaften.

Festlegen von Dokumenteigenschaften

func (f *File) SetDocProps(docProperties *DocProperties) error

SetDocProps bietet eine Funktion zum Festlegen der Eigenschaften des Dokumentkerns. Folgende Eigenschaften können festgelegt werden:

Eigentum Beschreibung
Category Eine Kategorisierung des Inhalts dieses Pakets.
ContentStatus Der Status des Inhalts. Zum Beispiel: Zu den Werten gehören Draft", "Reviewed" und "Final"
Created Die Erstellungszeit des Inhalts der Ressource.
Creator Eine Entität, die hauptsächlich für die Erstellung des Inhalts der Ressource verantwortlich ist.
Description Eine Erläuterung des Inhalts der Ressource.
Identifier Ein eindeutiger Verweis auf die Ressource in einem bestimmten Kontext.
Keywords Eine begrenzte Anzahl von Schlüsselwörtern zur Unterstützung der Suche und Indizierung. Dies ist normalerweise eine Liste von Begriffen, die an keiner anderen Stelle in den Eigenschaften verfügbar sind.
Language Die Sprache des intellektuellen Inhalts der Ressource.
LastModifiedBy Der Benutzer, der die letzte Änderung vorgenommen hat. Die Identifizierung ist umgebungsspezifisch.
Modified Die Änderungszeit des Inhalts der Ressource.
Revision Die Revisionsnummer des Inhalts der Ressource.
Subject Das Thema des Inhalts der Ressource.
Title Der Name wurde der Ressource gegeben.
Version Die Versionsnummer. Dieser Wert wird vom Benutzer oder von der Anwendung festgelegt.

Zum Beispiel:

err := f.SetDocProps(&excelize.DocProperties{
    Category:       "category",
    ContentStatus:  "Draft",
    Created:        "2019-06-04T22:00:10Z",
    Creator:        "Go Excelize",
    Description:    "This file created by Go Excelize",
    Identifier:     "xlsx",
    Keywords:       "Spreadsheet",
    LastModifiedBy: "Go Author",
    Modified:       "2019-06-04T22:00:10Z",
    Revision:       "0",
    Subject:        "Test Subject",
    Title:          "Test Title",
    Language:       "en-US",
    Version:        "1.0.0",
})

Abrufen von Dokumenteigenschaften

func (f *File) GetDocProps() (*DocProperties, error)

GetDocProps bietet eine Funktion zum Abrufen der Eigenschaften des Dokumentkerns.

Arbeitsbuch schützen

func (f *File) ProtectWorkbook(opts *WorkbookProtectionOptions) error

ProtectWorkbook bietet eine Funktion, um zu verhindern, dass andere Benutzer versehentlich oder absichtlich Daten in einer Arbeitsmappe ändern, verschieben oder löschen. Das optionale Feld AlgorithmName gibt den Hash-Algorithmus an, unterstützt XOR, MD4, MD5, SHA-1, SHA2-56, SHA-384 und SHA-512, wenn derzeit kein Hash-Algorithmus angegeben ist, wird der XOR-Algorithmus standardmäßig verwendet. Schützen Sie beispielsweise die Arbeitsmappe mit Schutzeinstellungen:

err := f.ProtectWorkbook(&excelize.WorkbookProtectionOptions{
    Password:      "password",
    LockStructure: true,
})

WorkbookProtectionOptions bildet die Einstellungen des Arbeitsmappenschutzes direkt ab.

type WorkbookProtectionOptions struct {
    AlgorithmName string
    Password      string
    LockStructure bool
    LockWindows   bool
}

Schutz der Arbeitsmappe aufheben

func (f *File) UnprotectWorkbook(password ...string) error

UnprotectWorkbook bietet eine Funktion zum Aufheben des Schutzes für Arbeitsmappen und gibt den optionalen Kennwortparameter an, um den Arbeitsmappenschutz mit Kennwortüberprüfung zu entfernen.

results matching ""

    No results matching ""