Apache POI - Classes principais
Este capítulo explica algumas classes e métodos da API Apache POI que são essenciais para trabalhar em arquivos Excel usando programas Java.
Livro de exercícios
Esta é a superinterface de todas as classes que criam ou mantêm pastas de trabalho do Excel. Pertence aoorg.apache.poi.ss.usermodelpacote. As duas classes que implementam esta interface são as seguintes -
HSSFWorkbook- Esta classe possui métodos para ler e gravar arquivos do Microsoft Excel no formato .xls. É compatível com as versões 97–2003 do MS-Office.
XSSFWorkbook- Esta classe possui métodos para ler e gravar arquivos xml do Microsoft Excel e OpenOffice no formato .xls ou .xlsx. É compatível com as versões do MS-Office 2007 ou posteriores.
HSSFWorkbook
É uma classe de alto nível sob o org.apache.poi.hssf.usermodelpacote. Ele implementa oWorkbookinterface e é usado para arquivos do Excel no formato .xls. Abaixo estão alguns dos métodos e construtores dessa classe.
Construtores de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | HSSFWorkbook() Cria um novo objeto HSSFWorkbook do zero. |
2 | HSSFWorkbook(DirectoryNode directory, boolean preserveNodes) Cria um novo objeto HSSFWworkbook dentro de um diretório específico. |
3 | HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes) Dado um objeto POIFSFileSystem e um diretório específico dentro dele, ele cria um objeto SSFWorkbook para ler uma pasta de trabalho especificada. |
4 | HSSFWorkbook(java.io.InputStream s) Cria um novo objeto HSSFWorkbook usando um fluxo de entrada. |
5 | HSSFWorkbook(java.io.InputStream s, boolean preserveNodes) Constrói um sistema de arquivos POI em torno de seu fluxo de entrada. |
6 | HSSFWorkbook(POIFSFileSystem fs) Constrói um novo objeto HSSFWorkbook usando um objeto POIFSFileSystem. |
7 | HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes) Dado um objeto POIFSFileSystem, ele cria um novo objeto HSSFWorkbook para ler uma pasta de trabalho especificada. |
Os parâmetros usados com freqüência dentro desses construtores são -
directory - É o diretório do sistema de arquivos POI a partir do qual processar.
fs - É o sistema de arquivos POI que contém o fluxo da pasta de trabalho.
preservenodes- Este é um parâmetro opcional que decide se preserva outros nós como macros. Ele consome muita memória, pois armazena todo o POIFileSystem na memória (se definido).
Note- A classe HSSFWorkbook contém vários métodos; no entanto, eles são compatíveis apenas com o formato xls. Neste tutorial, o foco está na versão mais recente dos formatos de arquivo do Excel. Portanto, os métodos de classe de HSSFWorkbook não estão listados aqui. Se você precisar desses métodos de classe, consulte a API da classe POI-HSSFWorkbook emhttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.
XSSFWorkbook
É uma classe usada para representar formatos de arquivo Excel de alto e baixo nível. Pertence aoorg.apache.xssf.usemodel empacota e implementa o Workbookinterface. Listados abaixo estão os métodos e construtores dessa classe.
Construtores de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | XSSFWorkbook() Cria um novo objeto XSSFworkbook do zero. |
2 | XSSFWorkbook(java.io.File file) Constrói um objeto XSSFWorkbook a partir de um determinado arquivo. |
3 | XSSFWorkbook(java.io.InputStream is) Constrói um objeto XSSFWorkbook, armazenando em buffer todo o fluxo de entrada na memória e, em seguida, abrindo um objeto OPCPackage para ele. |
4 | XSSFWorkbook(java.lang.String path) Constrói um objeto XSSFWorkbook dado o caminho completo de um arquivo. |
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | createSheet() Cria uma planilha XSSFSheet para esta pasta de trabalho, adiciona-a às planilhas e retorna a representação de alto nível. |
2 | createSheet(java.lang.String sheetname) Cria uma nova planilha para esta pasta de trabalho e retorna a representação de alto nível. |
3 | createFont() Cria uma nova fonte e a adiciona à tabela de fontes da pasta de trabalho. |
4 | createCellStyle() Cria um novo XSSFCellStyle e o adiciona à tabela de estilos da pasta de trabalho. |
5 | createFont() Cria uma nova fonte e a adiciona à tabela de fontes da pasta de trabalho. |
6 | setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow,int endRow) Define a área de impressão de uma determinada folha de acordo com os parâmetros especificados. |
Para os métodos restantes desta classe, consulte o documento completo da API em: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. para obter a lista completa de métodos.
Folha
Folha é uma interface sob o org.apache.poi.ss.usermodelpacote e é uma superinterface de todas as classes que criam planilhas de alto ou baixo nível com nomes específicos. O tipo mais comum de planilha é a planilha, que é representada como uma grade de células.
HSSFSheet
Esta é uma aula sob o org.apache.poi.hssf.usermodelpacote. Pode criar planilhas excel e permite formatar o estilo da planilha e os dados da planilha.
Construtores de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | HSSFSheet(HSSFWorkbook workbook) Cria um novo HSSFSheet chamado por HSSFWorkbook para criar uma planilha do zero. |
2 | HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet) Cria uma HSSFSheet que representa o objeto de pasta fornecido. |
XSSFSheet
Esta é uma classe que representa uma representação de alto nível de planilhas Excel. Está soborg.apache.poi.hssf.usermodel pacote.
Construtores de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | XSSFSheet() Cria um novo XSSFSheet - chamado por XSSFWorkbook para criar uma planilha do zero. |
2 | XSSFSheet(PackagePart part, PackageRelationship rel) Cria uma XSSFSheet que representa a parte e o relacionamento do pacote fornecido. |
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | addMergedRegion(CellRangeAddress region) Adiciona uma região mesclada de células (portanto, essas células formam uma). |
2 | autoSizeColumn(int column) Ajusta a largura da coluna para ajustar o conteúdo. |
3 | iterator() Este método é um alias para rowIterator () para permitir loops foreach |
4 | addHyperlink(XSSFHyperlink hyperlink) Registra um hiperlink na coleção de hiperlinks desta folha |
Para os métodos restantes desta classe, consulte a API completa em: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.
Linha
Esta é uma interface sob o org.apache.poi.ss.usermodelpacote. É usado para representação de alto nível de uma linha de uma planilha. É uma superinterface de todas as classes que representam linhas na biblioteca POI.
XSSFRow
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. Ele implementa a interface Row, portanto, pode criar linhas em uma planilha. Listados abaixo estão os métodos e construtores dessa classe.
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | createCell(int columnIndex) Cria novas células na linha e as retorna. |
2 | setHeight(short height) Define a altura em unidades curtas. |
Para os métodos restantes desta classe, siga o link fornecido https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html
Célula
Esta é uma interface sob o org.apache.poi.ss.usermodelpacote. É uma superinterface de todas as classes que representam células nas linhas de uma planilha.
As células podem ter vários atributos, como espaço em branco, numérico, data, erro, etc. As células devem ter seus próprios números (com base em 0) antes de serem adicionadas a uma linha.
XSSFCell
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. Ele implementa a interface Cell. É uma representação de alto nível das células nas linhas de uma planilha.
Resumo do Campo
Listados abaixo estão alguns dos campos da classe XSSFCell junto com sua descrição.
Sr. Não. | Tipo de célula e descrição |
---|---|
1 | CELL_TYPE_BLANK Representa célula em branco |
2 | CELL_TYPE_BOOLEAN Representa a célula booleana (verdadeiro ou falso) |
3 | CELL_TYPE_ERROR Representa o valor do erro em uma célula |
4 | CELL_TYPE_FORMULA Representa o resultado da fórmula em uma célula |
5 | CELL_TYPE_NUMERIC Representa dados numéricos em uma célula |
6 | CELL_TYPE_STRING Representa string (texto) em uma célula |
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | setCellStyle(CellStyle style) Define o estilo da célula. |
2 | setCellType(int cellType) Define o tipo de células (numéricas, fórmula ou string). |
3 | setCellValue(boolean value) Define um valor booleano para a célula. |
4 | setCellValue(java.util.Calendar value) Define um valor de data para a célula. |
5 | setCellValue(double value) Define um valor numérico para a célula. |
6 | setCellValue(java.lang.String str) Define um valor de string para a célula. |
7 | setHyperlink(Hyperlink hyperlink) Atribui um hiperlink a esta célula. |
Para os métodos e campos restantes desta classe, visite o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html
XSSFCellStyle
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. Fornecerá possíveis informações sobre o formato do conteúdo em uma célula de uma planilha. Ele também oferece opções para modificar esse formato. Ele implementa a interface CellStyle.
Resumo do Campo
A tabela a seguir lista alguns campos que são herdados da interface CellStyle.
Sr. Não. | Campo e Descrição |
---|---|
1 | ALIGN_CENTER Alinhar o conteúdo da célula no centro |
2 | ALIGN_CENTER_SELECTION Alinhamento horizontal de seleção central |
3 | ALIGN_FILL Célula ajustada ao tamanho do conteúdo |
4 | ALIGN_JUSTIFY Ajustar o conteúdo da célula à sua largura |
5 | ALIGN_LEFT Alinha à esquerda o conteúdo da célula |
6 | ALIGN_RIGHT Alinhar à direita o conteúdo da célula |
7 | BORDER_DASH_DOT Estilo de célula com traço e ponto |
8 | BORDER_DOTTED Estilo de célula com borda pontilhada |
9 | BORDER_DASHED Estilo de célula com borda tracejada |
10 | BORDER_THICK Estilo de célula com borda espessa |
11 | BORDER_THIN Estilo de célula com borda fina |
12 | VERTICAL_BOTTOM Alinha o conteúdo da célula na parte inferior vertical |
13 | VERTICAL_CENTER Alinha o centro vertical do conteúdo da célula |
15 | VERTICAL_JUSTIFY Alinhe e justifique o conteúdo da célula verticalmente |
16 | VERTICAL_TOP Alinhamento vertical alinhado superior |
Construtores de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | XSSFCellStyle(int cellXfId, int cellStyleXfId, StylesTable stylesSource, ThemesTable theme) Cria um estilo de célula a partir das peças fornecidas |
2 | XSSFCellStyle(StylesTable stylesSource) Cria um estilo de célula vazio |
Métodos de aula
S.Não | Método e Descrição |
---|---|
1 | setAlignment(short align) Define o tipo de alinhamento horizontal da célula |
2 | setBorderBottom(short border) Define o tipo de borda para a borda inferior da célula |
3 | setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color) Define a cor da borda selecionada |
4 | setBorderLeft(Short border) Define o tipo de borda para a borda esquerda da célula |
5 | setBorderRight(short border) Define o tipo de borda para a borda direita da célula |
6 | setBorderTop(short border) Define o tipo de borda para a borda superior da célula |
7 | setFillBackgroundColor(XSSFColor color) Define a cor de preenchimento do plano de fundo representada como um valor XSSFColor. |
8 | setFillForegroundColor(XSSFColor color) Define a cor de preenchimento do primeiro plano representada como um valor XSSFColor. |
9 | setFillPattern(short fp) Especifica as informações de preenchimento da célula para preenchimentos de células de padrão e cor sólida. |
10 | setFont(Font font) Define a fonte para este estilo. |
11 | setRotation(short rotation) Define o grau de rotação do texto na célula. |
12 | setVerticalAlignment(short align) Define o tipo de alinhamento vertical da célula. |
Para os demais métodos e campos desta classe, acesse o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html
HSSFColor
Esta é uma aula sob o org.apache.poi.hssf.utilpacote. Ele fornece cores diferentes como classes aninhadas. Normalmente, essas classes aninhadas são representadas usando seus próprios índices. Ele implementa a interface Color.
Classes aninhadas
Todas as classes aninhadas desta classe são estáticas e cada classe tem seu índice. Essas classes de cores aninhadas são usadas para formatação de células, como conteúdo, borda, primeiro plano e plano de fundo da célula. Listadas abaixo estão algumas das classes aninhadas.
Sr. Não. | Nomes de classes (cores) |
---|---|
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 |
Métodos de aula
Apenas um método desta classe é importante e é usado para obter o valor do índice.
Sr. Não. | Método e Descrição |
---|---|
1 | getIndex() Este método é usado para obter o valor do índice de uma classe aninhada. |
Para os métodos e classes aninhadas restantes, consulte o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html
XSSFColor
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. É usado para representar a cor em uma planilha. Ele implementa a interface Color. Listados abaixo estão alguns de seus métodos e construtores.
Construtores de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | XSSFColor() Cria uma nova instância de XSSFColor. |
2 | XSSFColor(byte[] rgb) Cria uma nova instância de XSSFColor usando RGB. |
3 | XSSFColor(java.awt.Color clr) Cria uma nova instância de XSSFColor usando a classe Color do pacote awt. |
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | setAuto(boolean auto) Define um valor booleano para indicar que ctColor é automático e o sistema ctColor é dependente. |
2 | setIndexed(int indexed) Define o valor ctColor indexado como ctColor do sistema. |
Para os métodos restantes, visite o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html
XSSFFont
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. Ele implementa a interface Font e, portanto, pode lidar com diferentes fontes em uma pasta de trabalho.
Construtor de classe
Sr. Não. | Construtor e descrição |
---|---|
1 | XSSFFont() Cria uma nova instância XSSFont. |
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | setBold(boolean bold) Define um valor booleano para o atributo 'negrito'. |
2 | setColor(short color) Define a cor indexada da fonte. |
3 | setColor(XSSFColor color) Define a cor da fonte no valor de cor RGB Alpha padrão. |
4 | setFontHeight(short height) Define a altura da fonte em pontos. |
5 | setFontName(java.lang.String name) Define o nome da fonte. |
6 | setItalic(boolean italic) Define um valor booleano para a propriedade 'itálico'. |
Para os métodos restantes, acesse o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html
XSSFHyperlink
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. Ele implementa a interface Hyperlink. É usado para definir um hiperlink para o conteúdo da célula de uma planilha.
Campos
Os campos desta classe são os seguintes. Aqui, os campos significam os tipos de hiperlinks usados.
Sr. Não. | Campo e Descrição |
---|---|
1 | LINK_DOCUMENT Usado para vincular qualquer outro documento |
2 | LINK_EMAIL Usado para vincular e-mail |
3 | LINK_FILE Usado para vincular qualquer outro arquivo em qualquer formato |
4 | LINK_URL Usado para vincular um URL da web |
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | setAddress(java.lang.String address) Endereço do hiperlink. |
Para os métodos restantes, visite o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html
XSSFCreationHelper
Esta é uma aula sob o org.apache.poi.xssf.usermodelpacote. Ele implementa a interface CreationHelper. É usado como uma classe de suporte para avaliação de fórmulas e configuração de hiperlinks.
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | createFormulaEvaluator() Cria uma ocorrência de XSSFFormulaEvaluator, o objeto que avalia as células da fórmula. |
2 | createHyperlink(int type) Cria um novo XSSFHyperlink. |
Para os métodos restantes, consulte o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html
XSSFPrintSetup
Esta é uma aula sob o org.apache.poi.xsssf.usermodelpacote. Ele implementa oPrintSetupinterface. É usado para definir o tamanho, área, opções e configurações da página de impressão.
Métodos de aula
Sr. Não. | Método e Descrição |
---|---|
1 | setLandscape(boolean ls) Define um valor booleano para permitir ou bloquear a impressão em paisagem. |
2 | setLeftToRight(boolean ltor) Define se vai da esquerda para a direita ou de cima para baixo na ordem durante a impressão. |
3 | setPaperSize(short size) Define o tamanho do papel. |
Para os métodos restantes, visite o seguinte link: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html