Saltar al contenido

Cómo leer un archivo de Excel en Java

septiembre 22, 2021
how to read excel file in java

En esta sección, aprenderemos cómo podemos leer datos de un archivo de Excel.

En Java, leer un archivo de Excel no es similar a leer un archivo de Word debido a las celdas en el archivo de Excel. JDK no proporciona API directa para leer o escribir documentos de Microsoft Excel o Word. Tenemos que confiar en la biblioteca de terceros que es Apache POI.

¿Qué es Apache POI?

PDI de Apache (Implementación de ofuscación deficiente) es una API de Java para leer y escribir documentos de Microsoft en ambos formatos. .xls y .xlsx. Contiene clases e interfaces. La biblioteca de puntos de interés de Apache proporciona dos implementaciones para leer archivos de Excel:

  • Implementación de HSSF (formato de hoja de cálculo horrible): Denota una API que funciona con Excel 2003 o versiones anteriores.
  • Implementación de XSSF (formato de hoja de cálculo XML): Denota una API que funciona con Excel 2007 o versiones posteriores.

Interfaces y clases en Apache POI

Interfaces

  • Libro de trabajo: Representa un Libro de Excel. Es una interfaz implementada por HSSFWorkbook y XSSFWorkbook.
  • Hoja: Es una interfaz que representa un Hoja de trabajo de Excel. Una hoja es una estructura central de un libro de trabajo, que representa una cuadrícula de celdas. La interfaz de la hoja se extiende java.lang.Iterable.
  • Hilera: También es una interfaz que representa la hilera de la hoja de cálculo. La interfaz de Row se extiende java.lang.Iterable. Hay dos clases concretas: HSSFRow y XSSFRow.
  • Celda: Es una interfaz. Es una representación de alto nivel de un celda en una fila de la hoja de cálculo. HSSFCell y XSSFCell implementar la interfaz celular.

Clases

Clases XLS

  • HSSFWorkbook: Es una clase que representa el archivo XLS.
  • Hoja HSSFS: Es una clase que representa la hoja en un archivo XLS.
  • HSSFRow: Es una clase que representa una fila en la hoja del archivo XLS.
  • HSSFCell: Es una clase que representa una celda en una fila de un archivo XLS.

Clases XLSX

  • XSSFWorkbook: Es una clase que representa el archivo XLSX.
  • Hoja XSSFS: Es una clase que representa la hoja en un archivo XLSX.
  • XSSFRow: Es una clase que representa una fila en la hoja del archivo XLSX.
  • XSSFCell: Es una clase que representa una celda en una fila de un archivo XLSX.

Pasos para leer datos de un archivo XLS

Paso 1: Cree un proyecto Java simple en eclipse.

Paso 2: Ahora, cree una carpeta lib en el proyecto.

Paso 3: Descargue y agregue los siguientes archivos jar en la carpeta lib:

Paso 4: Establecer la ruta de la clase:

Haga clic con el botón derecho en el proyecto -> Ruta de compilación -> Agregar archivos JAR externos -> seleccione todos los archivos jar anteriores -> Aplicar y cerrar.

Paso 5: Ahora crea un archivo de clase con el nombre ReadExcelFileDemo y escriba el siguiente código en el archivo.

Paso 6: Cree un archivo de Excel con el nombre «student.xls» y escriba algunos datos en él.

Cómo leer un archivo de Excel en Java

Paso 7: Guarde y ejecute el programa.

Ejemplo de lectura de un archivo de Excel (.xls)

Producción:

Name        Age        Height		
Swarit      23.0        5"
Puneet      25.0        6'1"
Swastik     22.0        5'5"
Tejas       12.0        4'9"

Leyendo archivo XLSX

Todos los pasos seguirán siendo los mismos, excepto el formato de archivo.

Mesa: employee.xslx

Cómo leer un archivo de Excel en Java

Ejemplo de lectura de archivo de Excel (.xlsx)

En este ejemplo usamos la clase XSSFWorkbook.

Producción:

Employee ID   Employee Name    Salary     Designation          Department	
1223.0         Harsh           20000.0    Marketing Manager    Marketing
3213.0         Vivek           15000.0    Financial Advisor    Finance	
6542.0         Krishna         21000.0    HR Manager           HR		
9213.0         Sarika          34000.0    Sales Manager       Sales 

Leer un valor de celda en particular de un archivo de Excel (.xlsx)

Mesa: EmployeeData.xlsx

Cómo leer un archivo de Excel en Java

Ejemplo

En el siguiente ejemplo, leemos el valor de 2Dakota del Norte fila y el 2Dakota del Norte columna. El recuento de filas y columnas comienza desde 0. Por lo tanto, el programa devuelve «Software Engineer».

Cómo leer un archivo de Excel en Java

Producción:


close