Apache POI - Clases principales

Este capítulo explica algunas clases y métodos de la API de POI de Apache que son fundamentales para trabajar con archivos de Excel con programas Java.

Libro de trabajo

Esta es la superinterfaz de todas las clases que crean o mantienen libros de Excel. Pertenece a laorg.apache.poi.ss.usermodelpaquete. Las dos clases que implementan esta interfaz son las siguientes:

  • HSSFWorkbook- Esta clase tiene métodos para leer y escribir archivos de Microsoft Excel en formato .xls. Es compatible con las versiones 97-2003 de MS-Office.

  • XSSFWorkbook- Esta clase tiene métodos para leer y escribir archivos xml de Microsoft Excel y OpenOffice en formato .xls o .xlsx. Es compatible con las versiones 2007 o posteriores de MS-Office.

HSSFWorkbook

Es una clase de alto nivel bajo el org.apache.poi.hssf.usermodelpaquete. Implementa laWorkbookinterfaz y se utiliza para archivos de Excel en formato .xls. A continuación se enumeran algunos de los métodos y constructores de esta clase.

Constructores de clases

No Señor. Constructor y descripción
1

HSSFWorkbook()

Crea un nuevo objeto HSSFWorkbook desde cero.

2

HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)

Crea un nuevo objeto de libro de trabajo HSSFW dentro de un directorio específico.

3

HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)

Dado un objeto POIFSFileSystem y un directorio específico dentro de él, crea un objeto SSFWorkbook para leer un libro de trabajo específico.

4

HSSFWorkbook(java.io.InputStream s)

Crea un nuevo objeto HSSFWorkbook utilizando un flujo de entrada.

5

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

Construye un sistema de archivos POI alrededor de su flujo de entrada.

6

HSSFWorkbook(POIFSFileSystem fs)

Construye un nuevo objeto HSSFWorkbook utilizando un objeto POIFSFileSystem.

7

HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)

Dado un objeto POIFSFileSystem, crea un nuevo objeto HSSFWorkbook para leer un libro específico.

Los parámetros de uso frecuente dentro de estos constructores son:

  • directory - Es el directorio del sistema de archivos POI desde el que se procesa.

  • fs - Es el sistema de archivos POI que contiene la secuencia del libro de trabajo.

  • preservenodes- Este es un parámetro opcional que decide si preservar otros nodos como macros. Consume mucha memoria ya que almacena todo el POIFileSystem en la memoria (si está configurado).

Note- La clase HSSFWorkbook contiene varios métodos; sin embargo, solo son compatibles con el formato xls. En este tutorial, la atención se centra en la última versión de los formatos de archivo de Excel. Por lo tanto, los métodos de clase de HSSFWorkbook no se enumeran aquí. Si necesita estos métodos de clase, consulte la API de clase POI-HSSFWorkbook enhttps://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html.

XSSFWorkbook

Es una clase que se utiliza para representar formatos de archivo de Excel de alto y bajo nivel. Pertenece a laorg.apache.xssf.usemodel paquete e implementa el Workbookinterfaz. A continuación se enumeran los métodos y constructores de esta clase.

Constructores de clases

No Señor. Constructor y descripción
1

XSSFWorkbook()

Crea un nuevo objeto XSSFworkbook desde cero.

2

XSSFWorkbook(java.io.File file)

Construye un objeto XSSFWorkbook a partir de un archivo determinado.

3

XSSFWorkbook(java.io.InputStream is)

Construye un objeto XSSFWorkbook, almacenando en búfer todo el flujo de entrada en la memoria y luego abriendo un objeto OPCPackage para él.

4

XSSFWorkbook(java.lang.String path)

Construye un objeto XSSFWorkbook dada la ruta completa de un archivo.

Métodos de clase

No Señor. Método y descripción
1

createSheet()

Crea una hoja XSSFS para este libro de trabajo, la agrega a las hojas y devuelve la representación de alto nivel.

2

createSheet(java.lang.String sheetname)

Crea una nueva hoja para este libro de trabajo y devuelve la representación de alto nivel.

3

createFont()

Crea una nueva fuente y la agrega a la tabla de fuentes del libro.

4

createCellStyle()

Crea un nuevo XSSFCellStyle y lo agrega a la tabla de estilos del libro.

5

createFont()

Crea una nueva fuente y la agrega a la tabla de fuentes del libro.

6

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

Establece el área de impresión de una hoja determinada según los parámetros especificados.

Para los métodos restantes de esta clase, consulte el documento API completo en: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFWorkbook.html. para obtener la lista completa de métodos.

Sábana

La hoja es una interfaz bajo el org.apache.poi.ss.usermodelpackage y es una superinterfaz de todas las clases que crea hojas de cálculo de alto o bajo nivel con nombres específicos. El tipo más común de hoja de cálculo es la hoja de trabajo, que se representa como una cuadrícula de celdas.

Hoja HSSFS

Esta es una clase bajo el org.apache.poi.hssf.usermodelpaquete. Puede crear hojas de cálculo de Excel y permite formatear el estilo de la hoja y los datos de la hoja.

Constructores de clases

No Señor. Constructor y descripción
1

HSSFSheet(HSSFWorkbook workbook)

Crea una nueva hoja HSSFS llamada por HSSFWorkbook para crear una hoja desde cero.

2

HSSFSheet(HSSFWorkbook workbook, InternalSheet sheet)

Crea una hoja HSSFS que representa el objeto de hoja dado.

XSSFSheet

Esta es una clase que representa una representación de alto nivel de una hoja de cálculo de Excel. Está bajoorg.apache.poi.hssf.usermodel paquete.

Constructores de clases

No Señor. Constructor y descripción
1

XSSFSheet()

Crea una nueva hoja XSSFS - llamada por XSSFWorkbook para crear una hoja desde cero.

2

XSSFSheet(PackagePart part, PackageRelationship rel)

Crea una hoja XSSFS que representa la parte y la relación del paquete dadas.

Métodos de clase

No Señor. Método y descripción
1

addMergedRegion(CellRangeAddress region)

Agrega una región combinada de células (por lo tanto, esas células forman una).

2

autoSizeColumn(int column)

Ajusta el ancho de la columna para adaptarse al contenido.

3

iterator()

Este método es un alias para rowIterator () para permitir bucles foreach

4

addHyperlink(XSSFHyperlink hyperlink)

Registra un hipervínculo en la colección de hipervínculos de esta hoja

Para los métodos restantes de esta clase, consulte la API completa en: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFSheet.html.

Fila

Esta es una interfaz bajo el org.apache.poi.ss.usermodelpaquete. Se utiliza para la representación de alto nivel de una fila de una hoja de cálculo. Es una superinterfaz de todas las clases que representan filas en la biblioteca de puntos de interés.

XSSFRow

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Implementa la interfaz Row, por lo que puede crear filas en una hoja de cálculo. A continuación se enumeran los métodos y constructores de esta clase.

Métodos de clase

No Señor. Método y descripción
1

createCell(int columnIndex)

Crea nuevas celdas dentro de la fila y la devuelve.

2

setHeight(short height)

Establece la altura en unidades cortas.

Para los métodos restantes de esta clase, siga el enlace dado https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html

Célula

Esta es una interfaz bajo el org.apache.poi.ss.usermodelpaquete. Es una superinterfaz de todas las clases que representan celdas en las filas de una hoja de cálculo.

Las celdas pueden tener varios atributos como en blanco, numérico, fecha, error, etc. Las celdas deben tener sus propios números (basados ​​en 0) antes de agregarse a una fila.

XSSFCell

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Implementa la interfaz Cell. Es una representación de alto nivel de celdas en las filas de una hoja de cálculo.

Campo Resumen

A continuación se enumeran algunos de los campos de la clase XSSFCell junto con su descripción.

No Señor. Tipo de celda y descripción
1

CELL_TYPE_BLANK

Representa celda en blanco

2

CELL_TYPE_BOOLEAN

Representa una celda booleana (verdadero o falso)

3

CELL_TYPE_ERROR

Representa el valor de error en una celda

4

CELL_TYPE_FORMULA

Representa el resultado de la fórmula en una celda

5

CELL_TYPE_NUMERIC

Representa datos numéricos en una celda.

6

CELL_TYPE_STRING

Representa una cadena (texto) en una celda

Métodos de clase

No Señor. Método y descripción
1

setCellStyle(CellStyle style)

Establece el estilo de la celda.

2

setCellType(int cellType)

Establece el tipo de celdas (numéricas, de fórmula o de cadena).

3

setCellValue(boolean value)

Establece un valor booleano para la celda.

4

setCellValue(java.util.Calendar value)

Establece un valor de fecha para la celda.

5

setCellValue(double value)

Establece un valor numérico para la celda.

6

setCellValue(java.lang.String str)

Establece un valor de cadena para la celda.

7

setHyperlink(Hyperlink hyperlink)

Asigna un hipervínculo a esta celda.

Para los métodos y campos restantes de esta clase, visite el siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCell.html

XSSFCellStyle

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Proporcionará información posible sobre el formato del contenido en una celda de una hoja de cálculo. También proporciona opciones para modificar ese formato. Implementa la interfaz CellStyle.

Campo Resumen

La siguiente tabla enumera algunos campos que se heredan de la interfaz CellStyle.

No Señor. Campo Descripción
1

ALIGN_CENTER

Alinear al centro el contenido de la celda

2

ALIGN_CENTER_SELECTION

Alineación horizontal de selección central

3

ALIGN_FILL

Ajuste de celda al tamaño del contenido

4

ALIGN_JUSTIFY

Ajustar el contenido de la celda a su ancho

5

ALIGN_LEFT

Alinear a la izquierda el contenido de la celda

6

ALIGN_RIGHT

Alinear a la derecha el contenido de la celda

7

BORDER_DASH_DOT

Estilo de celda con guión y punto

8

BORDER_DOTTED

Estilo de celda con borde punteado

9

BORDER_DASHED

Estilo de celda con borde punteado

10

BORDER_THICK

Estilo de celda con borde grueso

11

BORDER_THIN

Estilo de celda con borde delgado

12

VERTICAL_BOTTOM

Alinear el contenido de la celda en la parte inferior vertical

13

VERTICAL_CENTER

Alinear el centro vertical del contenido de la celda

15

VERTICAL_JUSTIFY

Alinear y justificar el contenido de la celda verticalmente

dieciséis

VERTICAL_TOP

Alineación vertical alineada superior

Constructores de clases

No Señor. Constructor y descripción
1

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

Crea un estilo de celda a partir de las piezas suministradas

2

XSSFCellStyle(StylesTable stylesSource)

Crea un estilo de celda vacía

Métodos de clase

S. No Método y descripción
1

setAlignment(short align)

Establece el tipo de alineación horizontal de la celda.

2

setBorderBottom(short border)

Establece el tipo de borde para el borde inferior de la celda

3

setBorderColor(XSSFCellBorder.BorderSide side, XSSFColor color)

Establece el color del borde seleccionado

4

setBorderLeft(Short border)

Establece el tipo de borde para el borde izquierdo de la celda

5

setBorderRight(short border)

Establece el tipo de borde para el borde derecho de la celda

6

setBorderTop(short border)

Establece el tipo de borde para el borde superior de la celda

7

setFillBackgroundColor(XSSFColor color)

Establece el color de relleno de fondo representado como un valor XSSFColor.

8

setFillForegroundColor(XSSFColor color)

Establece el color de relleno de primer plano representado como un valor XSSFColor.

9

setFillPattern(short fp)

Especifica la información de relleno de celda para rellenos de celda de patrón y color sólido.

10

setFont(Font font)

Establece la fuente para este estilo.

11

setRotation(short rotation)

Establece el grado de rotación del texto en la celda.

12

setVerticalAlignment(short align)

Establece el tipo de alineación vertical de la celda.

Para los métodos y campos restantes en esta clase, vaya a través del siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCellStyle.html

HSSFColor

Esta es una clase bajo el org.apache.poi.hssf.utilpaquete. Proporciona diferentes colores como clases anidadas. Por lo general, estas clases anidadas se representan mediante sus propios índices. Implementa la interfaz Color.

Clases anidadas

Todas las clases anidadas de esta clase son estáticas y cada clase tiene su índice. Estas clases de color anidadas se utilizan para el formato de celda, como el contenido, el borde, el primer plano y el fondo de la celda. A continuación se enumeran algunas de las clases anidadas.

No Señor. Nombres de clases (colores)
1 HSSFColor.AQUA
2 HSSFColor.AUTOMÁTICO
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.AMARILLO

Métodos de clase

Solo un método de esta clase es importante y se utiliza para obtener el valor del índice.

No Señor. Método y descripción
1

getIndex()

Este método se utiliza para obtener el valor de índice de una clase anidada.

Para los métodos restantes y las clases anidadas, consulte el siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/hssf/util/HSSFColor.html

XSSFColor

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Se utiliza para representar el color en una hoja de cálculo. Implementa la interfaz Color. A continuación se enumeran algunos de sus métodos y constructores.

Constructores de clases

No Señor. Constructor y descripción
1

XSSFColor()

Crea una nueva instancia de XSSFColor.

2

XSSFColor(byte[] rgb)

Crea una nueva instancia de XSSFColor usando RGB.

3

XSSFColor(java.awt.Color clr)

Crea una nueva instancia de XSSFColor usando la clase Color del paquete awt.

Métodos de clase

No Señor. Método y descripción
1

setAuto(boolean auto)

Establece un valor booleano para indicar que ctColor es automático y el sistema ctColor es dependiente.

2

setIndexed(int indexed)

Establece el valor ctColor indexado como sistema ctColor.

Para los métodos restantes, visite el siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFColor.html

XSSFFont

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Implementa la interfaz de fuentes y, por lo tanto, puede manejar diferentes fuentes en un libro de trabajo.

Constructor de clases

No Señor. Constructor y descripción
1

XSSFFont()

Crea una nueva instancia de XSSFont.

Métodos de clase

No Señor. Método y descripción
1

setBold(boolean bold)

Establece un valor booleano para el atributo 'negrita'.

2

setColor(short color)

Establece el color indexado para la fuente.

3

setColor(XSSFColor color)

Establece el color de la fuente en el valor de color Standard Alpha RGB.

4

setFontHeight(short height)

Establece la altura de la fuente en puntos.

5

setFontName(java.lang.String name)

Establece el nombre de la fuente.

6

setItalic(boolean italic)

Establece un valor booleano para la propiedad 'cursiva'.

Para los métodos restantes, vaya al siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFFont.html

XSSFHyperlink

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Implementa la interfaz Hyperlink. Se utiliza para establecer un hipervínculo al contenido de la celda de una hoja de cálculo.

Campos

Los campos de esta clase son los siguientes. Aquí, los campos significan los tipos de hipervínculos utilizados.

No Señor. Campo Descripción
1

LINK_DOCUMENT

Se usa para vincular cualquier otro documento

2

LINK_EMAIL

Se usa para vincular el correo electrónico

3

LINK_FILE

Se utiliza para vincular cualquier otro archivo en cualquier formato.

4

LINK_URL

Se usa para vincular una URL web

Métodos de clase

No Señor. Método y descripción
1

setAddress(java.lang.String address)

Dirección de hipervínculo.

Para los métodos restantes, visite el siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFHyperlink.html

XSSFCreationHelper

Esta es una clase bajo el org.apache.poi.xssf.usermodelpaquete. Implementa la interfaz CreationHelper. Se utiliza como clase de apoyo para la evaluación de fórmulas y la configuración de hipervínculos.

Métodos de clase

No Señor. Método y descripción
1

createFormulaEvaluator()

Crea una instancia XSSFFormulaEvaluator, el objeto que evalúa las celdas de fórmula.

2

createHyperlink(int type)

Crea un nuevo XSSFHyperlink.

Para los métodos restantes, consulte el siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFCreationHelper.html

XSSFPrintSetup

Esta es una clase bajo el org.apache.poi.xsssf.usermodelpaquete. Implementa laPrintSetupinterfaz. Se utiliza para configurar el tamaño, el área, las opciones y la configuración de la página de impresión.

Métodos de clase

No Señor. Método y descripción
1

setLandscape(boolean ls)

Establece un valor booleano para permitir o bloquear la impresión horizontal.

2

setLeftToRight(boolean ltor)

Establece si se realiza el pedido de izquierda a derecha o de arriba hacia abajo durante la impresión.

3

setPaperSize(short size)

Establece el tamaño del papel.

Para los métodos restantes, visite el siguiente enlace: https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFPrintSetup.html