POI Apache - Classi principali

Questo capitolo spiega alcune classi e metodi dell'API POI di Apache che sono fondamentali per lavorare su file Excel utilizzando programmi Java.

Cartella di lavoro

Questa è la super interfaccia di tutte le classi che creano o gestiscono cartelle di lavoro Excel. Appartiene alorg.apache.poi.ss.usermodelpacchetto. Le due classi che implementano questa interfaccia sono le seguenti:

  • HSSFWorkbook- Questa classe dispone di metodi per leggere e scrivere file Microsoft Excel in formato .xls. È compatibile con le versioni di MS-Office 97–2003.

  • XSSFWorkbook- Questa classe ha metodi per leggere e scrivere file Microsoft Excel e OpenOffice xml in formato .xls o .xlsx. È compatibile con le versioni di MS-Office 2007 o successive.

HSSFWorkbook

È una classe di alto livello sotto il org.apache.poi.hssf.usermodelpacchetto. Implementa ilWorkbookinterfaccia e viene utilizzato per i file Excel in formato .xls. Di seguito sono elencati alcuni dei metodi e dei costruttori di questa classe.

Costruttori di classi

Sr.No. Costruttore e descrizione
1

HSSFWorkbook()

Crea un nuovo oggetto HSSFWorkbook da zero.

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

Crea un nuovo oggetto HSSFWworkbook all'interno di una directory specifica.

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

Dato un oggetto POIFSFileSystem e una directory specifica al suo interno, crea un oggetto SSFWorkbook per leggere una cartella di lavoro specificata.

4

HSSFWorkbook(java.io.InputStream s)

Crea un nuovo oggetto HSSFWorkbook utilizzando un flusso di input.

5

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

Costruisce un file system POI attorno al flusso di input.

6

HSSFWorkbook(POIFSFileSystem fs)

Costruisce un nuovo oggetto HSSFWorkbook utilizzando un oggetto POIFSFileSystem.

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

Dato un oggetto POIFSFileSystem, crea un nuovo oggetto HSSFWorkbook per leggere una cartella di lavoro specificata.

I parametri utilizzati di frequente all'interno di questi costruttori sono:

  • directory - È la directory del filesystem POI da cui elaborare.

  • fs - È il file system POI che contiene il flusso della cartella di lavoro.

  • preservenodes- Questo è un parametro opzionale che decide se preservare altri nodi come le macro. Consuma molta memoria in quanto archivia tutto il POIFileSystem in memoria (se impostato).

Note- La classe HSSFWorkbook contiene una serie di metodi; tuttavia sono compatibili solo con il formato xls. In questo tutorial, il focus è sull'ultima versione dei formati di file Excel. Pertanto, i metodi di classe di HSSFWorkbook non sono elencati qui. Se sono necessari questi metodi di classe, fare riferimento all'API della classe POI-HSSFWorkbook all'indirizzohttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

XSSFWorkbook

È una classe utilizzata per rappresentare i formati di file Excel di alto e basso livello. Appartiene alorg.apache.xssf.usemodel pacchetto e implementa il Workbookinterfaccia. Di seguito sono elencati i metodi e i costruttori di questa classe.

Costruttori di classi

Sr.No. Costruttore e descrizione
1

XSSFWorkbook()

Crea un nuovo oggetto XSSFworkbook da zero.

2

XSSFWorkbook(java.io.File file)

Costruisce un oggetto XSSFWorkbook da un dato file.

3

XSSFWorkbook(java.io.InputStream is)

Costruisce un oggetto XSSFWorkbook, bufferizzando l'intero flusso di input in memoria e quindi aprendo un oggetto OPCPackage per esso.

4

XSSFWorkbook(java.lang.String path)

Costruisce un oggetto XSSFWorkbook dato il percorso completo di un file.

Metodi di classe

Sr.No. Metodo e descrizione
1

createSheet()

Crea un XSSFSheet per questa cartella di lavoro, lo aggiunge ai fogli e restituisce la rappresentazione di alto livello.

2

createSheet(java.lang.String sheetname)

Crea un nuovo foglio per questa cartella di lavoro e restituisce la rappresentazione di alto livello.

3

createFont()

Crea un nuovo carattere e lo aggiunge alla tabella dei caratteri della cartella di lavoro.

4

createCellStyle()

Crea un nuovo XSSFCellStyle e lo aggiunge alla tabella degli stili della cartella di lavoro.

5

createFont()

Crea un nuovo carattere e lo aggiunge alla tabella dei caratteri della cartella di lavoro.

6

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

Imposta l'area di stampa di un dato foglio secondo i parametri specificati.

Per i restanti metodi di questa classe, fare riferimento al documento API completo su: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. per l'elenco completo dei metodi.

Foglio

Sheet è un'interfaccia sotto il org.apache.poi.ss.usermodelpacchetto ed è una super interfaccia di tutte le classi che creano fogli di calcolo di alto o basso livello con nomi specifici. Il tipo più comune di foglio di calcolo è il foglio di lavoro, rappresentato come una griglia di celle.

HSSFSheet

Questa è una classe sotto il org.apache.poi.hssf.usermodelpacchetto. Può creare fogli di calcolo Excel e consente di formattare lo stile del foglio e i dati del foglio.

Costruttori di classi

Sr.No. Costruttore e descrizione
1

HSSFSheet(HSSFWorkbook workbook)

Crea un nuovo foglio HSSFS chiamato da HSSFWorkbook per creare un foglio da zero.

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

Crea un foglio HSSFS che rappresenta l'oggetto di lavoro specificato.

XSSFSheet

Questa è una classe che rappresenta la rappresentazione di alto livello del foglio di calcolo Excel. È sottoorg.apache.poi.hssf.usermodel pacchetto.

Costruttori di classi

Sr.No. Costruttore e descrizione
1

XSSFSheet()

Crea un nuovo XSSFSheet, chiamato da XSSFWorkbook per creare un foglio da zero.

2

XSSFSheet(PackagePart part, PackageRelationship rel)

Crea un XSSFSheet che rappresenta la parte e la relazione del pacchetto specificate.

Metodi di classe

Sr.No. Metodo e descrizione
1

addMergedRegion(CellRangeAddress region)

Aggiunge una regione di celle unite (quindi quelle celle ne formano una).

2

autoSizeColumn(int column)

Regola la larghezza della colonna per adattarla al contenuto.

3

iterator()

Questo metodo è un alias per rowIterator () per consentire i cicli foreach

4

addHyperlink(XSSFHyperlink hyperlink)

Registra un collegamento ipertestuale nella raccolta di collegamenti ipertestuali su questo foglio

Per i restanti metodi di questa classe, fare riferimento all'API completa su: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

Riga

Questa è un'interfaccia sotto org.apache.poi.ss.usermodelpacchetto. Viene utilizzato per la rappresentazione di alto livello di una riga di un foglio di calcolo. È una super interfaccia di tutte le classi che rappresentano le righe nella libreria dei POI.

XSSFRow

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Implementa l'interfaccia Row, quindi può creare righe in un foglio di calcolo. Di seguito sono elencati i metodi e i costruttori di questa classe.

Metodi di classe

Sr.No. Metodo e descrizione
1

createCell(int columnIndex)

Crea nuove celle all'interno della riga e la restituisce.

2

setHeight(short height)

Imposta l'altezza in unità brevi.

Per i restanti metodi di questa classe, seguire il collegamento fornito https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Cellula

Questa è un'interfaccia sotto org.apache.poi.ss.usermodelpacchetto. È una super interfaccia di tutte le classi che rappresentano le celle nelle righe di un foglio di calcolo.

Le celle possono assumere vari attributi come vuoto, numerico, data, errore, ecc. Le celle devono avere i propri numeri (in base 0) prima di essere aggiunte a una riga.

XSSFCell

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Implementa l'interfaccia Cell. È una rappresentazione di alto livello delle celle nelle righe di un foglio di calcolo.

Riepilogo del campo

Di seguito sono elencati alcuni dei campi della classe XSSFCell insieme alla loro descrizione.

Sr.No. Tipo di cella e descrizione
1

CELL_TYPE_BLANK

Rappresenta una cella vuota

2

CELL_TYPE_BOOLEAN

Rappresenta la cella booleana (vero o falso)

3

CELL_TYPE_ERROR

Rappresenta il valore di errore su una cella

4

CELL_TYPE_FORMULA

Rappresenta il risultato della formula su una cella

5

CELL_TYPE_NUMERIC

Rappresenta i dati numerici su una cella

6

CELL_TYPE_STRING

Rappresenta una stringa (testo) su una cella

Metodi di classe

Sr.No. Metodo e descrizione
1

setCellStyle(CellStyle style)

Imposta lo stile per la cella.

2

setCellType(int cellType)

Imposta il tipo di celle (numeriche, formula o stringa).

3

setCellValue(boolean value)

Imposta un valore booleano per la cella.

4

setCellValue(java.util.Calendar value)

Imposta un valore di data per la cella.

5

setCellValue(double value)

Imposta un valore numerico per la cella.

6

setCellValue(java.lang.String str)

Imposta un valore stringa per la cella.

7

setHyperlink(Hyperlink hyperlink)

Assegna un collegamento ipertestuale a questa cella.

Per i restanti metodi e campi di questa classe, visitare il seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html

XSSFCellStyle

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Fornirà eventuali informazioni sul formato del contenuto in una cella di un foglio di calcolo. Fornisce anche opzioni per modificare quel formato. Implementa l'interfaccia CellStyle.

Riepilogo del campo

La tabella seguente elenca alcuni campi ereditati dall'interfaccia CellStyle.

Sr.No. Campo e descrizione
1

ALIGN_CENTER

Al centro allinea il contenuto della cella

2

ALIGN_CENTER_SELECTION

Allineamento orizzontale selezione centro

3

ALIGN_FILL

Adatta la cella alla dimensione del contenuto

4

ALIGN_JUSTIFY

Adatta il contenuto della cella alla sua larghezza

5

ALIGN_LEFT

Allinea a sinistra il contenuto della cella

6

ALIGN_RIGHT

Allinea a destra il contenuto della cella

7

BORDER_DASH_DOT

Stile cella con trattino e punto

8

BORDER_DOTTED

Stile cella con bordo punteggiato

9

BORDER_DASHED

Stile cella con bordo tratteggiato

10

BORDER_THICK

Stile cella con bordo spesso

11

BORDER_THIN

Stile cella con bordo sottile

12

VERTICAL_BOTTOM

Allinea il contenuto della cella verticalmente in basso

13

VERTICAL_CENTER

Allinea il contenuto della cella in verticale al centro

15

VERTICAL_JUSTIFY

Allinea e giustifica il contenuto della cella verticalmente

16

VERTICAL_TOP

Allineamento verticale allineato in alto

Costruttori di classi

Sr.No. Costruttore e descrizione
1

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

Crea uno stile di cella dalle parti fornite

2

XSSFCellStyle(StylesTable stylesSource)

Crea uno stile di cella vuoto

Metodi di classe

S.No Metodo e descrizione
1

setAlignment(short align)

Imposta il tipo di allineamento orizzontale per la cella

2

setBorderBottom(short border)

Imposta il tipo di bordo per il bordo inferiore della cella

3

setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)

Imposta il colore per il bordo selezionato

4

setBorderLeft(Short border)

Imposta il tipo di bordo per il bordo sinistro della cella

5

setBorderRight(short border)

Imposta il tipo di bordo per il bordo destro della cella

6

setBorderTop(short border)

Imposta il tipo di bordo per il bordo superiore della cella

7

setFillBackgroundColor(XSSFColor color)

Imposta il colore di riempimento dello sfondo rappresentato come valore XSSFColor.

8

setFillForegroundColor(XSSFColor color)

Imposta il colore di riempimento in primo piano rappresentato come valore XSSFColor.

9

setFillPattern(short fp)

Specifica le informazioni di riempimento cella per riempimenti cella a motivo e in tinta unita.

10

setFont(Font font)

Imposta il carattere per questo stile.

11

setRotation(short rotation)

Imposta il grado di rotazione del testo nella cella.

12

setVerticalAlignment(short align)

Imposta il tipo di allineamento verticale per la cella.

Per i restanti metodi e campi in questa classe, passare al seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

Questa è una classe sotto il org.apache.poi.hssf.utilpacchetto. Fornisce colori diversi come classi annidate. Di solito queste classi annidate sono rappresentate utilizzando i propri indici. Implementa l'interfaccia Color.

Classi annidate

Tutte le classi nidificate di questa classe sono statiche e ogni classe ha il proprio indice. Queste classi di colori nidificate vengono utilizzate per la formattazione delle celle come il contenuto della cella, il bordo, il primo piano e lo sfondo. Di seguito sono elencate alcune delle classi annidate.

Sr.No. Nomi delle classi (colori)
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

Metodi di classe

Solo un metodo di questa classe è importante e viene utilizzato per ottenere il valore dell'indice.

Sr.No. Metodo e descrizione
1

getIndex()

Questo metodo viene utilizzato per ottenere il valore di indice di una classe nidificata.

Per i restanti metodi e le classi nidificate, fare riferimento al seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Viene utilizzato per rappresentare il colore in un foglio di calcolo. Implementa l'interfaccia Color. Di seguito sono elencati alcuni dei suoi metodi e costruttori.

Costruttori di classi

Sr.No. Costruttore e descrizione
1

XSSFColor()

Crea una nuova istanza di XSSFColor.

2

XSSFColor(byte[] rgb)

Crea una nuova istanza di XSSFColor utilizzando RGB.

3

XSSFColor(java.awt.Color clr)

Crea una nuova istanza di XSSFColor utilizzando la classe Color dal pacchetto awt.

Metodi di classe

Sr.No. Metodo e descrizione
1

setAuto(boolean auto)

Imposta un valore booleano per indicare che ctColor è automatico e che il sistema ctColor è dipendente.

2

setIndexed(int indexed)

Imposta il valore ctColor indicizzato come ctColor di sistema.

Per i restanti metodi, visitare il seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html

XSSFFont

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Implementa l'interfaccia Font e quindi può gestire diversi tipi di carattere in una cartella di lavoro.

Costruttore di classe

Sr.No. Costruttore e descrizione
1

XSSFFont()

Crea una nuova istanza XSSFont.

Metodi di classe

Sr.No. Metodo e descrizione
1

setBold(boolean bold)

Imposta un valore booleano per l'attributo "grassetto".

2

setColor(short color)

Imposta il colore indicizzato per il carattere.

3

setColor(XSSFColor color)

Imposta il colore per il carattere nel valore del colore RGB standard alfa.

4

setFontHeight(short height)

Imposta l'altezza del carattere in punti.

5

setFontName(java.lang.String name)

Imposta il nome per il carattere.

6

setItalic(boolean italic)

Imposta un valore booleano per la proprietà "corsivo".

Per i restanti metodi, passare al seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFHyperlink

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Implementa l'interfaccia Hyperlink. Viene utilizzato per impostare un collegamento ipertestuale al contenuto della cella di un foglio di calcolo.

Campi

I campi di questa classe sono i seguenti. Qui, i campi indicano i tipi di collegamenti ipertestuali utilizzati.

Sr.No. Campo e descrizione
1

LINK_DOCUMENT

Utilizzato per collegare qualsiasi altro documento

2

LINK_EMAIL

Utilizzato per collegare la posta elettronica

3

LINK_FILE

Utilizzato per collegare qualsiasi altro file in qualsiasi formato

4

LINK_URL

Utilizzato per collegare un URL Web

Metodi di classe

Sr.No. Metodo e descrizione
1

setAddress(java.lang.String address)

Indirizzo collegamento ipertestuale.

Per i restanti metodi, visitare il seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html

XSSFCreationHelper

Questa è una classe sotto il org.apache.poi.xssf.usermodelpacchetto. Implementa l'interfaccia CreationHelper. Viene utilizzato come classe di supporto per la valutazione delle formule e l'impostazione di collegamenti ipertestuali.

Metodi di classe

Sr.No. Metodo e descrizione
1

createFormulaEvaluator()

Crea un'istanza XSSFFormulaEvaluator, l'oggetto che valuta le celle della formula.

2

createHyperlink(int type)

Crea un nuovo XSSFHyperlink.

Per i restanti metodi, fare riferimento al seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

Questa è una classe sotto il org.apache.poi.xsssf.usermodelpacchetto. Implementa ilPrintSetupinterfaccia. Viene utilizzato per impostare le dimensioni, l'area, le opzioni e le impostazioni della pagina di stampa.

Metodi di classe

Sr.No. Metodo e descrizione
1

setLandscape(boolean ls)

Imposta un valore booleano per consentire o bloccare la stampa orizzontale.

2

setLeftToRight(boolean ltor)

Imposta se andare da sinistra a destra o dall'alto in basso nell'ordine durante la stampa.

3

setPaperSize(short size)

Imposta il formato della carta.

Per i restanti metodi, visitare il seguente collegamento: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html