Artículo
|
Leer un fichero excel en Java utilizando POI |
Apache POI es una librería Java que se utiliza para poder interactuar con hojas de cálculos de Microsoft, en sus distintos formatos.
Vamos a ver el código que se necesita para poder leer los datos contenidos en un fichero excel.
Para ello lo que vamos a necesitar es:
Vamos a ver las clases que utilizamos en el ejemplo para leer los datos de un archivo excel.
El código que utilizamos es el siguiente:
Vía: techbrainwave.com
Vamos a ver el código que se necesita para poder leer los datos contenidos en un fichero excel.
Para ello lo que vamos a necesitar es:
- El fichero jar de Apache POI
- JDK 1.5 o superior
- Un editor de JAVA.
Vamos a ver las clases que utilizamos en el ejemplo para leer los datos de un archivo excel.
- POIFSFileSystem: Esta clase se utiliza para gestiona el ciclo de vida completo del sistema de archivos.
- HSSFWorkbook: Este es el primer objeto construido para escribir o leer un archivo de Excel.
- HSSFSheet: Esta clase se utiliza para crear hojas de cálculo.
- HSSFRow: Esta clase representa la fila de una hoja de cálculo.
- HSSFCell: Esta clase representa la celda en una fila de la hoja de cálculo.
El código que utilizamos es el siguiente:
package com.sample.excel;
import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* @author giftsam
*/
public class ExcelSheetReader
{
/**
* This method is used to read the data's from an excel file.
* @param fileName - Name of the excel file.
*/
private void readExcelFile(String fileName)
{
/**
* Create a new instance for cellDataList
*/
List cellDataList = new ArrayList();
try
{
/**
* Create a new instance for FileInputStream class
*/
FileInputStream fileInputStream = new FileInputStream(fileName);
/**
* Create a new instance for POIFSFileSystem class
*/
POIFSFileSystem fsFileSystem = new POIFSFileSystem(fileInputStream);
/*
* Create a new instance for HSSFWorkBook Class
*/
HSSFWorkbook workBook = new HSSFWorkbook(fsFileSystem);
HSSFSheet hssfSheet = workBook.getSheetAt(0);
/**
* Iterate the rows and cells of the spreadsheet
* to get all the datas.
*/
Iterator rowIterator = hssfSheet.rowIterator();
while (rowIterator.hasNext())
{
HSSFRow hssfRow = (HSSFRow) rowIterator.next();
Iterator iterator = hssfRow.cellIterator();
List cellTempList = new ArrayList();
while (iterator.hasNext())
{
HSSFCell hssfCell = (HSSFCell) iterator.next();
cellTempList.add(hssfCell);
}
cellDataList.add(cellTempList);
}
}
catch (Exception e)
{
e.printStackTrace();
}
/**
* Call the printToConsole method to print the cell data in the
* console.
*/
printToConsole(cellDataList);
}
/**
* This method is used to print the cell data to the console.
* @param cellDataList - List of the data's in the spreadsheet.
*/
private void printToConsole(List cellDataList)
{
for (int i = 0; i < cellDataList.size(); i++)
{
List cellTempList = (List) cellDataList.get(i);
for (int j = 0; j < cellTempList.size(); j++)
{
HSSFCell hssfCell = (HSSFCell) cellTempList.get(j);
String stringCellValue = hssfCell.toString();
System.out.print(stringCellValue + "\t");
}
System.out.println();
}
}
public static void main(String[] args)
{
String fileName = "C:" + File.separator + "Users" +
File.separator + "Giftsam" + File.separator + "Desktop" +
File.separator + "sampleexcel.xls";
new ExcelSheetReader().readExcelFile(fileName);
}
}
Vía: techbrainwave.com
![]() |
Publicado por: angel carrero |
|
|
Comentarios
Últimas noticias
Últimos artículos














































