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