Apache POI - Kernklassen

In diesem Kapitel werden einige Klassen und Methoden unter der Apache POI-API erläutert, die für die Arbeit mit Excel-Dateien mit Java-Programmen von entscheidender Bedeutung sind.

Arbeitsmappe

Dies ist die Superschnittstelle aller Klassen, die Excel-Arbeitsmappen erstellen oder verwalten. Es gehört zu denorg.apache.poi.ss.usermodelPaket. Die zwei Klassen, die diese Schnittstelle implementieren, sind wie folgt:

  • HSSFWorkbook- Diese Klasse verfügt über Methoden zum Lesen und Schreiben von Microsoft Excel-Dateien im XLS-Format. Es ist kompatibel mit den MS-Office-Versionen 97–2003.

  • XSSFWorkbook- Diese Klasse verfügt über Methoden zum Lesen und Schreiben von Microsoft Excel- und OpenOffice-XML-Dateien im XLS- oder XLSX-Format. Es ist kompatibel mit MS-Office-Versionen 2007 oder höher.

HSSFWorkbook

Es ist eine hochrangige Klasse unter der org.apache.poi.hssf.usermodelPaket. Es implementiert dieWorkbookSchnittstelle und wird für Excel-Dateien im XLS-Format verwendet. Nachfolgend sind einige der Methoden und Konstruktoren dieser Klasse aufgeführt.

Klassenkonstruktoren

Sr.Nr. Konstruktor & Beschreibung
1

HSSFWorkbook()

Erstellt ein neues HSSFWorkbook-Objekt von Grund auf neu.

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

Erstellt ein neues HSSFWworkbook-Objekt in einem bestimmten Verzeichnis.

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

Wenn ein POIFSFileSystem-Objekt und ein bestimmtes Verzeichnis darin angegeben sind, wird ein SSFWorkbook-Objekt zum Lesen einer angegebenen Arbeitsmappe erstellt.

4

HSSFWorkbook(java.io.InputStream s)

Erstellt ein neues HSSFWorkbook-Objekt mithilfe eines Eingabestreams.

5

HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)

Erstellt ein POI-Dateisystem um Ihren Eingabestream.

6

HSSFWorkbook(POIFSFileSystem fs)

Erstellt ein neues HSSFWorkbook-Objekt mithilfe eines POIFSFileSystem-Objekts.

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

Bei einem gegebenen POIFSFileSystem-Objekt wird ein neues HSSFWorkbook-Objekt zum Lesen einer angegebenen Arbeitsmappe erstellt.

Die häufig verwendeten Parameter in diesen Konstruktoren sind -

  • directory - Es ist das POI-Dateisystemverzeichnis, aus dem verarbeitet werden soll.

  • fs - Es ist das POI-Dateisystem, das den Arbeitsmappen-Stream enthält.

  • preservenodes- Dies ist ein optionaler Parameter, der entscheidet, ob andere Knoten wie Makros beibehalten werden sollen. Es verbraucht viel Speicher, da es das gesamte POIFileSystem im Speicher speichert (falls festgelegt).

Note- Die HSSFWorkbook-Klasse enthält eine Reihe von Methoden. Sie sind jedoch nur mit dem XLS-Format kompatibel. In diesem Tutorial liegt der Schwerpunkt auf der neuesten Version der Excel-Dateiformate. Daher sind die Klassenmethoden von HSSFWorkbook hier nicht aufgeführt. Wenn Sie diese Klassenmethoden benötigen, lesen Sie die POI-HSSFWorkbook-Klassen-API unterhttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

XSSFWorkbook

Es ist eine Klasse, die verwendet wird, um sowohl Excel-Dateiformate auf hoher als auch auf niedriger Ebene darzustellen. Es gehört zu denorg.apache.xssf.usemodel Paket und implementiert die WorkbookSchnittstelle. Nachfolgend sind die Methoden und Konstruktoren unter dieser Klasse aufgeführt.

Klassenkonstruktoren

Sr.Nr. Konstruktor & Beschreibung
1

XSSFWorkbook()

Erstellt ein neues XSSFworkbook-Objekt von Grund auf neu.

2

XSSFWorkbook(java.io.File file)

Erstellt ein XSSFWorkbook-Objekt aus einer bestimmten Datei.

3

XSSFWorkbook(java.io.InputStream is)

Erstellt ein XSSFWorkbook-Objekt, indem der gesamte Eingabestream in den Speicher gepuffert und anschließend ein OPCPackage-Objekt dafür geöffnet wird.

4

XSSFWorkbook(java.lang.String path)

Erstellt ein XSSFWorkbook-Objekt unter Angabe des vollständigen Pfads einer Datei.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

createSheet()

Erstellt ein XSSFS-Blatt für diese Arbeitsmappe, fügt es den Arbeitsblättern hinzu und gibt die Darstellung auf hoher Ebene zurück.

2

createSheet(java.lang.String sheetname)

Erstellt ein neues Blatt für diese Arbeitsmappe und gibt die Darstellung auf hoher Ebene zurück.

3

createFont()

Erstellt eine neue Schriftart und fügt sie der Schriftartentabelle der Arbeitsmappe hinzu.

4

createCellStyle()

Erstellt einen neuen XSSFCellStyle und fügt ihn der Stiltabelle der Arbeitsmappe hinzu.

5

createFont()

Erstellt eine neue Schriftart und fügt sie der Schriftartentabelle der Arbeitsmappe hinzu.

6

setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow)

Legt den Druckbereich eines bestimmten Blattes gemäß den angegebenen Parametern fest.

Informationen zu den übrigen Methoden dieser Klasse finden Sie im vollständigen API-Dokument unter: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. für die vollständige Liste der Methoden.

Blatt

Blatt ist eine Schnittstelle unter dem org.apache.poi.ss.usermodelPaket und es ist eine Super-Schnittstelle aller Klassen, die Tabellen auf hoher oder niedriger Ebene mit bestimmten Namen erstellen. Die häufigste Art der Tabellenkalkulation ist das Arbeitsblatt, das als Zellenraster dargestellt wird.

HSSFSheet

Dies ist eine Klasse unter dem org.apache.poi.hssf.usermodelPaket. Es kann Excel-Tabellen erstellen und den Blattstil und die Blattdaten formatieren.

Klassenkonstruktoren

Sr.Nr. Konstruktor & Beschreibung
1

HSSFSheet(HSSFWorkbook workbook)

Erstellt ein neues HSSFS-Blatt, das von HSSFWorkbook aufgerufen wird, um ein Blatt von Grund auf neu zu erstellen.

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

Erstellt ein HSSFS-Blatt, das das angegebene Blattobjekt darstellt.

XSSFSheet

Dies ist eine Klasse, die eine allgemeine Darstellung der Excel-Tabelle darstellt. Es ist unterorg.apache.poi.hssf.usermodel Paket.

Klassenkonstruktoren

Sr.Nr. Konstruktor & Beschreibung
1

XSSFSheet()

Erstellt ein neues XSSFSheet - wird von XSSFWorkbook aufgerufen, um ein Blatt von Grund auf neu zu erstellen.

2

XSSFSheet(PackagePart part, PackageRelationship rel)

Erstellt ein XSSFSheet, das den angegebenen Paketteil und die angegebene Beziehung darstellt.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

addMergedRegion(CellRangeAddress region)

Fügt eine zusammengeführte Region von Zellen hinzu (daher bilden diese Zellen eine).

2

autoSizeColumn(int column)

Passt die Spaltenbreite an den Inhalt an.

3

iterator()

Diese Methode ist ein Alias ​​für rowIterator (), um jede Schleife zuzulassen

4

addHyperlink(XSSFHyperlink hyperlink)

Registriert einen Hyperlink in der Sammlung von Hyperlinks auf diesem Blatt

Informationen zu den verbleibenden Methoden dieser Klasse finden Sie in der vollständigen API unter: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

Reihe

Dies ist eine Schnittstelle unter dem org.apache.poi.ss.usermodelPaket. Es wird für die allgemeine Darstellung einer Zeile einer Tabelle verwendet. Es ist eine Superschnittstelle aller Klassen, die Zeilen in der POI-Bibliothek darstellen.

XSSFRow

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es implementiert die Zeilenschnittstelle und kann daher Zeilen in einer Tabelle erstellen. Nachfolgend sind die Methoden und Konstruktoren unter dieser Klasse aufgeführt.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

createCell(int columnIndex)

Erstellt neue Zellen in der Zeile und gibt sie zurück.

2

setHeight(short height)

Legt die Höhe in kurzen Einheiten fest.

Für die verbleibenden Methoden dieser Klasse folgen Sie dem angegebenen Link https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Zelle

Dies ist eine Schnittstelle unter dem org.apache.poi.ss.usermodelPaket. Es ist eine Superschnittstelle aller Klassen, die Zellen in den Zeilen einer Tabelle darstellen.

Zellen können verschiedene Attribute wie Leerzeichen, Zahlen, Datum, Fehler usw. annehmen. Zellen sollten ihre eigenen Nummern (basierend auf 0) haben, bevor sie einer Zeile hinzugefügt werden.

XSSFCell

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es implementiert die Cell-Schnittstelle. Es ist eine allgemeine Darstellung von Zellen in den Zeilen einer Tabelle.

Feldzusammenfassung

Nachfolgend sind einige Felder der XSSFCell-Klasse zusammen mit ihrer Beschreibung aufgeführt.

Sr.Nr. Zelltyp & Beschreibung
1

CELL_TYPE_BLANK

Stellt eine leere Zelle dar

2

CELL_TYPE_BOOLEAN

Repräsentiert eine boolesche Zelle (wahr oder falsch)

3

CELL_TYPE_ERROR

Stellt den Fehlerwert in einer Zelle dar

4

CELL_TYPE_FORMULA

Repräsentiert das Formelergebnis in einer Zelle

5

CELL_TYPE_NUMERIC

Repräsentiert numerische Daten in einer Zelle

6

CELL_TYPE_STRING

Repräsentiert eine Zeichenfolge (Text) in einer Zelle

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

setCellStyle(CellStyle style)

Legt den Stil für die Zelle fest.

2

setCellType(int cellType)

Legt den Zelltyp fest (numerisch, Formel oder Zeichenfolge).

3

setCellValue(boolean value)

Legt einen booleschen Wert für die Zelle fest.

4

setCellValue(java.util.Calendar value)

Legt einen Datumswert für die Zelle fest.

5

setCellValue(double value)

Legt einen numerischen Wert für die Zelle fest.

6

setCellValue(java.lang.String str)

Legt einen Zeichenfolgenwert für die Zelle fest.

7

setHyperlink(Hyperlink hyperlink)

Weist dieser Zelle einen Hyperlink zu.

Die übrigen Methoden und Felder dieser Klasse finden Sie unter folgendem Link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html

XSSFCellStyle

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es werden mögliche Informationen zum Format des Inhalts in einer Zelle einer Tabelle bereitgestellt. Es bietet auch Optionen zum Ändern dieses Formats. Es implementiert die CellStyle-Schnittstelle.

Feldzusammenfassung

In der folgenden Tabelle sind einige Felder aufgeführt, die von der CellStyle-Schnittstelle geerbt werden.

Sr.Nr. Feld Beschreibung
1

ALIGN_CENTER

Richten Sie den Zelleninhalt in der Mitte aus

2

ALIGN_CENTER_SELECTION

Horizontale Ausrichtung der Mittelauswahl

3

ALIGN_FILL

Zellenanpassung an die Inhaltsgröße

4

ALIGN_JUSTIFY

Passen Sie den Zellinhalt an seine Breite an

5

ALIGN_LEFT

Richten Sie den Zelleninhalt links aus

6

ALIGN_RIGHT

Richten Sie den Zelleninhalt rechts aus

7

BORDER_DASH_DOT

Zellenstil mit Strich und Punkt

8

BORDER_DOTTED

Zellstil mit gepunktetem Rand

9

BORDER_DASHED

Zellenstil mit gestricheltem Rand

10

BORDER_THICK

Zellstil mit dickem Rand

11

BORDER_THIN

Zellstil mit dünnem Rand

12

VERTICAL_BOTTOM

Richten Sie den Zelleninhalt vertikal unten aus

13

VERTICAL_CENTER

Richten Sie den vertikalen Mittelpunkt des Zelleninhalts aus

15

VERTICAL_JUSTIFY

Richten Sie den Zelleninhalt vertikal aus und richten Sie ihn aus

16

VERTICAL_TOP

Oben ausgerichtete vertikale Ausrichtung

Klassenkonstruktoren

Sr.Nr. Konstruktor & Beschreibung
1

XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme)

Erstellt einen Zellenstil aus den mitgelieferten Teilen

2

XSSFCellStyle(StylesTable stylesSource)

Erstellt einen leeren Zellenstil

Klassenmethoden

S.No. Methode & Beschreibung
1

setAlignment(short align)

Legt den Typ der horizontalen Ausrichtung für die Zelle fest

2

setBorderBottom(short border)

Legt den Randtyp für den unteren Rand der Zelle fest

3

setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)

Legt die Farbe für den ausgewählten Rand fest

4

setBorderLeft(Short border)

Legt den Randtyp für den linken Rand der Zelle fest

5

setBorderRight(short border)

Legt den Randtyp für den rechten Rand der Zelle fest

6

setBorderTop(short border)

Legt den Randtyp für den oberen Rand der Zelle fest

7

setFillBackgroundColor(XSSFColor color)

Legt die Hintergrundfüllfarbe fest, die als XSSFColor-Wert dargestellt wird.

8

setFillForegroundColor(XSSFColor color)

Legt die Vordergrundfüllfarbe fest, die als XSSFColor-Wert dargestellt wird.

9

setFillPattern(short fp)

Gibt die Zellenfüllungsinformationen für Muster- und Volltonzellenfüllungen an.

10

setFont(Font font)

Legt die Schriftart für diesen Stil fest.

11

setRotation(short rotation)

Legt den Rotationsgrad für den Text in der Zelle fest.

12

setVerticalAlignment(short align)

Legt den Typ der vertikalen Ausrichtung für die Zelle fest.

Für die verbleibenden Methoden und Felder in dieser Klasse gehen Sie über den folgenden Link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

Dies ist eine Klasse unter dem org.apache.poi.hssf.utilPaket. Es bietet verschiedene Farben als verschachtelte Klassen. Normalerweise werden diese verschachtelten Klassen mithilfe ihrer eigenen Indizes dargestellt. Es implementiert die Farbschnittstelle.

Verschachtelte Klassen

Alle verschachtelten Klassen dieser Klasse sind statisch und jede Klasse hat ihren Index. Diese verschachtelten Farbklassen werden für die Formatierung von Zellen verwendet, z. B. für Zelleninhalt, Rahmen, Vordergrund und Hintergrund. Nachfolgend sind einige der verschachtelten Klassen aufgeführt.

Sr.Nr. Klassennamen (Farben)
1 HSSFColor.AQUA
2 HSSFColor.AUTOMATIC
3 HSSFColor.BLACK
4 HSSFColor.BLUE
5 HSSFColor.BRIGHT_GREEN
6 HSSFColor.BRIGHT_GRAY
7 HSSFColor.CORAL
8 HSSFColor.DARK_BLUE
9 HSSFColor.DARK_GREEN
10 HSSFColor.SKY_BLUE
11 HSSFColor.WHITE
12 HSSFColor.YELLOW

Klassenmethoden

Es ist nur eine Methode dieser Klasse wichtig, mit der der Indexwert abgerufen wird.

Sr.Nr. Methode & Beschreibung
1

getIndex()

Diese Methode wird verwendet, um den Indexwert einer verschachtelten Klasse abzurufen.

Informationen zu den verbleibenden Methoden und verschachtelten Klassen finden Sie unter folgendem Link: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es wird verwendet, um Farbe in einer Tabelle darzustellen. Es implementiert die Farbschnittstelle. Nachfolgend sind einige seiner Methoden und Konstruktoren aufgeführt.

Klassenkonstruktoren

Sr.Nr. Konstruktor & Beschreibung
1

XSSFColor()

Erstellt eine neue Instanz von XSSFColor.

2

XSSFColor(byte[] rgb)

Erstellt eine neue Instanz von XSSFColor mit RGB.

3

XSSFColor(java.awt.Color clr)

Erstellt eine neue Instanz von XSSFColor mithilfe der Color-Klasse aus dem awt-Paket.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

setAuto(boolean auto)

Legt einen booleschen Wert fest, der angibt, dass ctColor automatisch und das System ctColor abhängig ist.

2

setIndexed(int indexed)

Legt den indizierten ctColor-Wert als System-ctColor fest.

Die restlichen Methoden finden Sie unter folgendem Link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html

XSSFFont

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es implementiert die Schriftartenschnittstelle und kann daher verschiedene Schriftarten in einer Arbeitsmappe verarbeiten.

Klassenkonstruktor

Sr.Nr. Konstruktor & Beschreibung
1

XSSFFont()

Erstellt eine neue XSSFont-Instanz.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

setBold(boolean bold)

Legt einen booleschen Wert für das Attribut 'Fett' fest.

2

setColor(short color)

Legt die indizierte Farbe für die Schriftart fest.

3

setColor(XSSFColor color)

Legt die Farbe für die Schriftart im Standard Alpha RGB-Farbwert fest.

4

setFontHeight(short height)

Legt die Schrifthöhe in Punkten fest.

5

setFontName(java.lang.String name)

Legt den Namen für die Schriftart fest.

6

setItalic(boolean italic)

Legt einen booleschen Wert für die Eigenschaft 'kursiv' fest.

Für die restlichen Methoden gehen Sie über den folgenden Link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFHyperlink

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es implementiert die Hyperlink-Schnittstelle. Es wird verwendet, um einen Hyperlink zum Zelleninhalt einer Tabelle festzulegen.

Felder

Die Felder dieser Klasse sind wie folgt. Hier bedeuten Felder die Arten der verwendeten Hyperlinks.

Sr.Nr. Feld Beschreibung
1

LINK_DOCUMENT

Wird verwendet, um ein anderes Dokument zu verknüpfen

2

LINK_EMAIL

Wird zum Verknüpfen von E-Mails verwendet

3

LINK_FILE

Wird verwendet, um eine andere Datei in einem beliebigen Format zu verknüpfen

4

LINK_URL

Wird zum Verknüpfen einer Web-URL verwendet

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

setAddress(java.lang.String address)

Hyperlink-Adresse.

Die restlichen Methoden finden Sie unter folgendem Link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html

XSSFCreationHelper

Dies ist eine Klasse unter dem org.apache.poi.xssf.usermodelPaket. Es implementiert die CreationHelper-Schnittstelle. Es wird als Unterstützungsklasse für die Formelbewertung und das Einrichten von Hyperlinks verwendet.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

createFormulaEvaluator()

Erstellt eine XSSFFormulaEvaluator-Instanz, das Objekt, das Formelzellen auswertet.

2

createHyperlink(int type)

Erstellt einen neuen XSSFHyperlink.

Die übrigen Methoden finden Sie unter folgendem Link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

Dies ist eine Klasse unter dem org.apache.poi.xsssf.usermodelPaket. Es implementiert diePrintSetupSchnittstelle. Hiermit können Sie die Größe, den Bereich, die Optionen und die Einstellungen der Druckseite festlegen.

Klassenmethoden

Sr.Nr. Methode & Beschreibung
1

setLandscape(boolean ls)

Legt einen booleschen Wert fest, um das Drucken im Querformat zuzulassen oder zu blockieren.

2

setLeftToRight(boolean ltor)

Legt fest, ob bei der Bestellung beim Drucken von links nach rechts oder von oben nach unten vorgegangen werden soll.

3

setPaperSize(short size)

Legt das Papierformat fest.

Die restlichen Methoden finden Sie unter folgendem Link: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html