Leer archivo de Excel en Java
Este artículo brinda la información necesaria para leer un archivo de Excel en el programa Java. ¿Qué programa usar? Qué pasos seguir y, por último, pero no menos importante, cómo aplicar las bibliotecas para que el usuario pueda leer el archivo de Excel. Entonces, comencemos.
Leer un archivo de Excel en Java
En Java, leer un archivo de Excel no es tan fácil como otros formatos de archivo, como Microsoft Word. Sin embargo, se puede entender fácilmente por qué, ya que las hojas de Excel contienen celdas.
JDK (Java Development Kit) no permite al usuario manejar archivos como Microsoft Excel y Microsoft Word. Además, no proporciona al usuario la API requerida, por lo que no tenemos más remedio que confiar en bibliotecas de terceros para realizar nuestras tareas.
Para leer un archivo de Excel en Java, tendríamos que aprender sobre la biblioteca APACHE POI porque puede funcionar tanto para formularios .xls como .xlsx.
Descripción general de la biblioteca APACHE POI
La biblioteca, APACHE POI, también conocida como Implementación de ofuscación deficiente, proporciona al usuario dos implementaciones. Uno es HSSF, y el otro es XSSF.
HSSF: la implementaciónHSSF, Horrible Spread Sheet Format, denota al usuario con una API que funciona para versiones anteriores de Microsoft Excel, más específicamente Excel 2003 y anteriores.XSSF-XSSF, formato de hoja de cálculo XML, la implementación denota al usuario con una API que funciona para versiones posteriores de Microsoft Excel. En este caso, es para las versiones de Excel 2007+. También podemos usar esta implementación para trabajar con el formato.xlsx.
Veamos sus interfaces y clases para comprender mejor su trabajo.
Interfaces y Clases
Tenga en cuenta que todas las interfaces mencionadas a continuación funcionan tanto para HSSF como para XSSF.
-
libro de trabajo: ellibro de trabajoes una interfaz que representa el libro de trabajo de Excel. Tiene dos clases,HSSFWorkbookyXSSFWorkbook. -
hoja- Como sabemos, la estructura central de un libro de trabajo se conoce como hoja de trabajo. Entonces, unahojaes una interfaz que representa la hoja de cálculo de Excel.Es una extensión de la biblioteca
java.lang.Iterable. Las dos clases para esta interfaz sonHSSFSheetyXSSFSheet. -
fila- Es una interfaz que representa lafilade una Hoja de Excel. Esta interfaz también es una extensión de la bibliotecajava.lang.Iterable. Tiene dos clases,HSSFRowyXSSFRow. -
celda- Es una interfaz que representa las celdas en unafilade una Hoja de Excel. También tiene dos clases llamadasHSSFCellyXSSFCell.
Veamos los pasos para leer un archivo de Excel ahora que sabemos qué contiene la biblioteca APACHE POI y qué interfaces y clases podemos usar.
Pasos para leer un archivo de Excel en Java
Estos pasos son sencillos de seguir.
-
Crear una carpeta
libCree una carpeta llamada
liben el proyecto Java que el usuario usará para abrir y leer el archivo de Excel. -
Descargar archivos
jarEste paso requiere que el usuario descargue algunos archivos
jaren la carpetalibcreada en el paso anterior. Necesitas descargarcommons-collections4-4.1.jar,poi-3.17.jar,poi-ooxml-3.17.jar,poi-ooxml-schemas-3.17.jaryxmlbeans-2.6.0.jar -
Crear ruta para agregar archivos
jarEn este paso, tenemos que crear la
rutapara agregar los archivosjarque descargamos en el paso anterior. Para hacer eso, haga clic derecho en un proyecto Java que creamos en el paso 1.Luego construiremos nuestra
rutapara los archivosjarhaciendo clic en la opciónconstruir ruta. Por último, haremos clic enAplicar y cerrartras añadir los archivos ‘jar’ externos. -
Crear una clase de Java
Cree un archivo de clase Java en este paso, y luego podemos llamar a nuestro archivo de Excel deseado para leer los datos. Este es un ejemplo de un archivo de clase que lee un archivo de Excel.
El
XSSFse usará en este ejemplo ya que usa versiones de Excel 2007+.import java.io.File; import java.io.FileInputStream; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class Example { public static void main(String[] args) { try { File ExcelFile = new File("D:\\your_filename.xlsx"); // obtaining bytes from the file FileInputStream FileStream = new FileInputStream(ExcelFile); // using the Workbook interface XSSFWorkbook ExcelWorkbook = new XSSFWorkbook(FileStream); // using the sheet class to get the object XSSFSheet ExcelSheet = ExcelWorkbook.getSheetAt(0); // iterating over excel file, rows. Iterator<Row> IterateRows = ExcelSheet.iterator(); while (IterateRows.hasNext()) { Row ExcelRow = IterateRows.next(); // iterating over the column Iterator<Cell> IterateCells = ExcelRow.cellIterator(); while (IterateCells.hasNext()) { Cell ExcelCell = IterateCells.next(); switch (ExcelCell.getCellType()) { case Cell.CELL_TYPE_STRING: // represents string cell type System.out.print(ExcelCell.getStringCellValue() + "\t"); break; case Cell.CELL_TYPE_NUMERIC: // represents number cell type System.out.print(ExcelCell.getNumericCellValue() + "\t"); break; default: } } System.out.println(""); } } catch (Exception exp) { exp.printStackTrace(); } } }
Usando este código de ejemplo, podemos entender fácilmente cómo usar la biblioteca APACHE POI. El resultado de este código de ejemplo serán los datos del archivo de Excel que proporcionará el usuario.
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn