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