Apache POI - podstawowe klasy

W tym rozdziale opisano kilka klas i metod w interfejsie API Apache POI, które są niezbędne do pracy z plikami Excel przy użyciu programów Java.

zeszyt ćwiczeń

To jest super interfejs wszystkich klas, które tworzą lub obsługują skoroszyty programu Excel. Należy doorg.apache.poi.ss.usermodelpakiet. Dwie klasy implementujące ten interfejs są następujące -

  • HSSFWorkbook- Ta klasa zawiera metody do odczytu i zapisu plików Microsoft Excel w formacie .xls. Jest kompatybilny z wersjami MS-Office 97–2003.

  • XSSFWorkbook- Ta klasa zawiera metody do odczytu i zapisu plików Microsoft Excel i OpenOffice xml w formacie .xls lub .xlsx. Jest kompatybilny z MS-Office w wersji 2007 lub nowszej.

HSSFWorkbook

Jest to klasa wysokiego poziomu w ramach org.apache.poi.hssf.usermodelpakiet. ImplementujeWorkbookinterfejs i jest używany do plików Excel w formacie .xls. Poniżej wymienione są niektóre metody i konstruktory w tej klasie.

Konstruktorzy klas

Sr.No. Konstruktor i opis
1

HSSFWorkbook()

Tworzy od podstaw nowy obiekt HSSFWorkbook.

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

Tworzy nowy obiekt HSSFWworkbook wewnątrz określonego katalogu.

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

Biorąc pod uwagę obiekt POIFSFileSystem i określony w nim katalog, tworzy obiekt SSFWorkbook w celu odczytania określonego skoroszytu.

4

HSSFWorkbook(java.io.InputStream s)

Tworzy nowy obiekt HSSFWorkbook przy użyciu strumienia wejściowego.

5

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

Tworzy system plików POI wokół strumienia wejściowego.

6

HSSFWorkbook(POIFSFileSystem fs)

Konstruuje nowy obiekt HSSFWorkbook przy użyciu obiektu POIFSFileSystem.

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

Mając obiekt POIFSFileSystem, tworzy nowy obiekt HSSFWorkbook do odczytu określonego skoroszytu.

Często używane parametry wewnątrz tych konstruktorów to -

  • directory - Jest to katalog systemu plików POI do przetwarzania.

  • fs - Jest to system plików POI zawierający strumień skoroszytu.

  • preservenodes- Jest to opcjonalny parametr, który decyduje, czy zachować inne węzły, takie jak makra. Zużywa dużo pamięci, ponieważ przechowuje cały system POIFile w pamięci (jeśli jest ustawiony).

Note- Klasa HSSFWorkbook zawiera kilka metod; jednak są one zgodne tylko z formatem xls. W tym samouczku skupiamy się na najnowszej wersji formatów plików programu Excel. W związku z tym metody klas HSSFWorkbook nie są tutaj wymienione. Jeśli potrzebujesz tych metod klas, zapoznaj się z API klasy POI-HSSFWorkbook pod adresemhttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

XSSFWorkbook

Jest to klasa, która jest używana do reprezentowania zarówno wysokiego, jak i niskiego poziomu formatów plików Excel. Należy doorg.apache.xssf.usemodel pakiet i implementuje Workbookberło. Poniżej wymienione są metody i konstruktory w tej klasie.

Konstruktorzy klas

Sr.No. Konstruktor i opis
1

XSSFWorkbook()

Tworzy od podstaw nowy obiekt XSSFworkbook.

2

XSSFWorkbook(java.io.File file)

Konstruuje obiekt XSSFWorkbook z podanego pliku.

3

XSSFWorkbook(java.io.InputStream is)

Konstruuje obiekt XSSFWorkbook, buforując cały strumień wejściowy do pamięci, a następnie otwierając dla niego obiekt OPCPackage.

4

XSSFWorkbook(java.lang.String path)

Konstruuje obiekt XSSFWorkbook, podając pełną ścieżkę do pliku.

Metody klasowe

Sr.No. Metoda i opis
1

createSheet()

Tworzy arkusz XSSFS dla tego skoroszytu, dodaje go do arkuszy i zwraca reprezentację wysokiego poziomu.

2

createSheet(java.lang.String sheetname)

Tworzy nowy arkusz dla tego skoroszytu i zwraca reprezentację wysokiego poziomu.

3

createFont()

Tworzy nową czcionkę i dodaje ją do tabeli czcionek skoroszytu.

4

createCellStyle()

Tworzy nowy XSSFCellStyle i dodaje go do tabeli stylów skoroszytu.

5

createFont()

Tworzy nową czcionkę i dodaje ją do tabeli czcionek skoroszytu.

6

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

Ustawia obszar drukowania danego arkusza zgodnie z określonymi parametrami.

Pozostałe metody tej klasy można znaleźć w pełnym dokumencie API pod adresem: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. aby uzyskać pełną listę metod.

Arkusz

Arkusz to interfejs pod org.apache.poi.ss.usermodelpakiet i jest to super-interfejs wszystkich klas, które tworzą arkusze kalkulacyjne wysokiego lub niskiego poziomu o określonych nazwach. Najpopularniejszym typem arkusza kalkulacyjnego jest arkusz roboczy, który jest reprezentowany jako siatka komórek.

Arkusz HSSFS

To jest klasa poniżej org.apache.poi.hssf.usermodelpakiet. Może tworzyć arkusze kalkulacyjne Excela i umożliwia formatowanie stylu arkusza i danych arkusza.

Konstruktorzy klas

Sr.No. Konstruktor i opis
1

HSSFSheet(HSSFWorkbook workbook)

Tworzy nowy arkusz HSSFS o nazwie przez HSSFWorkbook, aby utworzyć arkusz od podstaw.

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

Tworzy arkusz HSSFS reprezentujący dany obiekt arkusza.

XSSFSheet

Jest to klasa reprezentująca arkusz kalkulacyjny Excel na wysokim poziomie. To jest podorg.apache.poi.hssf.usermodel pakiet.

Konstruktorzy klas

Sr.No. Konstruktor i opis
1

XSSFSheet()

Tworzy nowy arkusz XSSFS - wywoływany przez XSSFWorkbook do tworzenia arkusza od podstaw.

2

XSSFSheet(PackagePart part, PackageRelationship rel)

Tworzy arkusz XSSFS przedstawiający daną część pakietu i relację.

Metody klasowe

Sr.No. Metoda i opis
1

addMergedRegion(CellRangeAddress region)

Dodaje scalony region komórek (stąd te komórki tworzą jeden).

2

autoSizeColumn(int column)

Dopasowuje szerokość kolumny do zawartości.

3

iterator()

Ta metoda jest aliasem dla rowIterator (), który zezwala na pętle foreach

4

addHyperlink(XSSFHyperlink hyperlink)

Rejestruje hiperłącze w zbiorze hiperłączy na tym arkuszu

W przypadku pozostałych metod tej klasy zapoznaj się z pełnym interfejsem API pod adresem: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

Rząd

To jest interfejs pod org.apache.poi.ss.usermodelpakiet. Służy do reprezentacji wysokiego poziomu wiersza arkusza kalkulacyjnego. Jest to super-interfejs wszystkich klas reprezentujących wiersze w bibliotece POI.

XSSFRow

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Implementuje interfejs Row, dlatego może tworzyć wiersze w arkuszu kalkulacyjnym. Poniżej wymienione są metody i konstruktory w tej klasie.

Metody klasowe

Sr.No. Metoda i opis
1

createCell(int columnIndex)

Tworzy nowe komórki w wierszu i zwraca je.

2

setHeight(short height)

Ustawia wysokość w krótkich jednostkach.

W przypadku pozostałych metod tej klasy kliknij podany link https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Komórka

To jest interfejs pod org.apache.poi.ss.usermodelpakiet. Jest to superinterfejs wszystkich klas reprezentujących komórki w wierszach arkusza kalkulacyjnego.

Komórki mogą mieć różne atrybuty, takie jak puste, numeryczne, data, błąd itp. Komórki powinny mieć własne liczby (oparte na 0) przed dodaniem do wiersza.

XSSFCell

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Implementuje interfejs komórki. Jest to wysokopoziomowa reprezentacja komórek w wierszach arkusza kalkulacyjnego.

Podsumowanie pola

Poniżej wymienione są niektóre pola klasy XSSFCell wraz z ich opisem.

Sr.No. Typ i opis komórki
1

CELL_TYPE_BLANK

Reprezentuje pustą komórkę

2

CELL_TYPE_BOOLEAN

Reprezentuje komórkę logiczną (prawda lub fałsz)

3

CELL_TYPE_ERROR

Reprezentuje wartość błędu w komórce

4

CELL_TYPE_FORMULA

Reprezentuje wynik formuły w komórce

5

CELL_TYPE_NUMERIC

Reprezentuje dane liczbowe w komórce

6

CELL_TYPE_STRING

Reprezentuje ciąg (tekst) w komórce

Metody klasowe

Sr.No. Metoda i opis
1

setCellStyle(CellStyle style)

Ustawia styl komórki.

2

setCellType(int cellType)

Ustawia typ komórek (numeryczna, formuła lub ciąg).

3

setCellValue(boolean value)

Ustawia wartość logiczną dla komórki.

4

setCellValue(java.util.Calendar value)

Ustawia wartość daty dla komórki.

5

setCellValue(double value)

Ustawia wartość liczbową dla komórki.

6

setCellValue(java.lang.String str)

Ustawia wartość ciągu dla komórki.

7

setHyperlink(Hyperlink hyperlink)

Przypisuje hiperłącze do tej komórki.

Aby zapoznać się z pozostałymi metodami i polami tej klasy, odwiedź poniższy link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html

XSSFCellStyle

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Dostarcza ewentualnych informacji dotyczących formatu treści w komórce arkusza kalkulacyjnego. Udostępnia również opcje modyfikowania tego formatu. Implementuje interfejs CellStyle.

Podsumowanie pola

W poniższej tabeli wymieniono kilka pól, które są dziedziczone z interfejsu CellStyle.

Sr.No. Pole i opis
1

ALIGN_CENTER

Wyśrodkuj zawartość komórki

2

ALIGN_CENTER_SELECTION

Wyrównanie do środka w poziomie

3

ALIGN_FILL

Dopasowanie komórki do rozmiaru zawartości

4

ALIGN_JUSTIFY

Dopasuj zawartość komórki do jej szerokości

5

ALIGN_LEFT

Wyrównaj zawartość komórki do lewej

6

ALIGN_RIGHT

Wyrównaj zawartość komórki do prawej

7

BORDER_DASH_DOT

Styl komórki z kreską i kropką

8

BORDER_DOTTED

Styl komórki z przerywaną obwódką

9

BORDER_DASHED

Styl komórki z przerywaną obwódką

10

BORDER_THICK

Styl komórki z grubym obramowaniem

11

BORDER_THIN

Styl komórki z cienką obwódką

12

VERTICAL_BOTTOM

Wyrównaj zawartość komórki pionowo do dołu

13

VERTICAL_CENTER

Wyrównaj zawartość komórki do środka w pionie

15

VERTICAL_JUSTIFY

Wyrównaj i wyrównaj zawartość komórki w pionie

16

VERTICAL_TOP

Wyrównanie do góry w pionie

Konstruktorzy klas

Sr.No. Konstruktor i opis
1

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

Tworzy styl komórki z dostarczonych części

2

XSSFCellStyle(StylesTable stylesSource)

Tworzy styl pustej komórki

Metody klasowe

S.Nr Metoda i opis
1

setAlignment(short align)

Ustawia typ wyrównania poziomego komórki

2

setBorderBottom(short border)

Ustawia typ obramowania dolnego obramowania komórki

3

setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)

Ustawia kolor dla wybranej ramki

4

setBorderLeft(Short border)

Ustawia typ obramowania lewej krawędzi komórki

5

setBorderRight(short border)

Ustawia typ obramowania prawej krawędzi komórki

6

setBorderTop(short border)

Ustawia typ obramowania górnego obramowania komórki

7

setFillBackgroundColor(XSSFColor color)

Ustawia kolor wypełnienia tła reprezentowany jako wartość XSSFColor.

8

setFillForegroundColor(XSSFColor color)

Ustawia kolor wypełnienia pierwszego planu reprezentowany jako wartość XSSFColor.

9

setFillPattern(short fp)

Określa informacje o wypełnieniu komórek wzorkiem i pełnokolorowym wypełnieniem komórek.

10

setFont(Font font)

Ustawia czcionkę dla tego stylu.

11

setRotation(short rotation)

Ustawia stopień obrotu tekstu w komórce.

12

setVerticalAlignment(short align)

Ustawia typ wyrównania pionowego komórki.

W przypadku pozostałych metod i pól w tej klasie przejdź przez następujący link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

To jest klasa poniżej org.apache.poi.hssf.utilpakiet. Zapewnia różne kolory jako klasy zagnieżdżone. Zwykle te klasy zagnieżdżone są reprezentowane przy użyciu własnych indeksów. Implementuje interfejs Color.

Klasy zagnieżdżone

Wszystkie zagnieżdżone klasy tej klasy są statyczne i każda klasa ma swój indeks. Te zagnieżdżone klasy kolorów są używane do formatowania komórek, takich jak zawartość komórki, obramowanie, pierwszy plan i tło. Poniżej wymieniono niektóre z zagnieżdżonych klas.

Sr.No. Nazwy klas (kolory)
1 HSSFColor.AQUA
2 HSSFColor.AUTOMATYCZNY
3 HSSFColor.BLACK
4 HSSFColor.BLUE
5 HSSFColor.BRIGHT_GREEN
6 HSSFColor.BRIGHT_GREY
7 HSSFColor.CORAL
8 HSSFColor.DARK_BLUE
9 HSSFColor.DARK_GREEN
10 HSSFColor.SKY_BLUE
11 HSSFColor.WBIAŁY
12 HSSFColor.ŻÓŁTY

Metody klasowe

Ważna jest tylko jedna metoda tej klasy, która służy do pobierania wartości indeksu.

Sr.No. Metoda i opis
1

getIndex()

Ta metoda służy do pobierania wartości indeksu klasy zagnieżdżonej.

Aby uzyskać informacje o pozostałych metodach i klasach zagnieżdżonych, skorzystaj z następującego łącza: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Służy do reprezentowania koloru w arkuszu kalkulacyjnym. Implementuje interfejs Color. Poniżej wymieniono niektóre z jego metod i konstruktorów.

Konstruktorzy klas

Sr.No. Konstruktor i opis
1

XSSFColor()

Tworzy nowe wystąpienie XSSFColor.

2

XSSFColor(byte[] rgb)

Tworzy nowe wystąpienie XSSFColor przy użyciu RGB.

3

XSSFColor(java.awt.Color clr)

Tworzy nowe wystąpienie XSSFColor przy użyciu klasy Color z pakietu awt.

Metody klasowe

Sr.No. Metoda i opis
1

setAuto(boolean auto)

Ustawia wartość logiczną wskazującą, że ctColor jest automatyczny, a ctColor systemu jest zależny.

2

setIndexed(int indexed)

Ustawia indeksowaną wartość ctColor jako systemową wartość ctColor.

W przypadku pozostałych metod odwiedź poniższy link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html

XSSFFont

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Implementuje interfejs czcionek i dlatego może obsługiwać różne czcionki w skoroszycie.

Konstruktor klas

Sr.No. Konstruktor i opis
1

XSSFFont()

Tworzy nowe wystąpienie XSSFont.

Metody klasowe

Sr.No. Metoda i opis
1

setBold(boolean bold)

Ustawia wartość logiczną dla atrybutu „pogrubienie”.

2

setColor(short color)

Ustawia indeksowany kolor czcionki.

3

setColor(XSSFColor color)

Ustawia kolor czcionki w standardowej wartości koloru Alpha RGB.

4

setFontHeight(short height)

Ustawia wysokość czcionki w punktach.

5

setFontName(java.lang.String name)

Ustawia nazwę czcionki.

6

setItalic(boolean italic)

Ustawia wartość logiczną dla właściwości „kursywa”.

W przypadku pozostałych metod przejdź przez następujący link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFHyperlink

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Implementuje interfejs Hyperlink. Służy do ustawiania hiperłącza do zawartości komórki w arkuszu kalkulacyjnym.

Pola

Pola tej klasy są następujące. Tutaj pola oznaczają rodzaje używanych hiperłączy.

Sr.No. Pole i opis
1

LINK_DOCUMENT

Służy do łączenia dowolnego innego dokumentu

2

LINK_EMAIL

Służy do łączenia wiadomości e-mail

3

LINK_FILE

Służy do łączenia dowolnego innego pliku w dowolnym formacie

4

LINK_URL

Służy do łączenia adresu internetowego

Metody klasowe

Sr.No. Metoda i opis
1

setAddress(java.lang.String address)

Adres hiperłącza.

W przypadku pozostałych metod odwiedź poniższy link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html

XSSFCreationHelper

To jest klasa poniżej org.apache.poi.xssf.usermodelpakiet. Implementuje interfejs CreationHelper. Służy jako klasa pomocnicza do oceny formuł i tworzenia hiperłączy.

Metody klasowe

Sr.No. Metoda i opis
1

createFormulaEvaluator()

Tworzy wystąpienie XSSFFormulaEvaluator, obiekt, który ocenia komórki formuły.

2

createHyperlink(int type)

Tworzy nowe XSSFHyperlink.

W przypadku pozostałych metod zapoznaj się z poniższym łączem: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

To jest klasa poniżej org.apache.poi.xsssf.usermodelpakiet. ImplementujePrintSetupberło. Służy do ustawiania rozmiaru, obszaru, opcji i ustawień drukowanej strony.

Metody klasowe

Sr.No. Metoda i opis
1

setLandscape(boolean ls)

Ustawia wartość logiczną, która zezwala lub blokuje drukowanie w orientacji poziomej.

2

setLeftToRight(boolean ltor)

Określa, czy podczas drukowania należy przesuwać się od lewej do prawej, czy od góry do dołu.

3

setPaperSize(short size)

Ustawia rozmiar papieru.

W przypadku pozostałych metod odwiedź poniższy link: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html