Este es un método que te lee los datos del archivo exel y te retorna la información dentro de un vector. __________________________________________________ __________________________________________________ ______________________________ /** * Método que se encarga de leer los datos de un archivo en formato excel * @param file Archivo que se va a proceder a leer * @return Vector que contiene la informacion del archivo */ public Vector leeArchivo(File file){ Vector informacionArchivo = new Vector(); POIFSFileSystem poifsFileSystem = null; try { poifsFileSystem = new POIFSFileSystem(new FileInputStream(file)); } catch (FileNotFoundException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } HSSFWorkbook hssfWorkbook = null; try { hssfWorkbook = new HSSFWorkbook(poifsFileSystem); } catch (IOException ex) { ex.printStackTrace(); } HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0); Iterator iterator = hssfSheet.rowIterator(); // Recorro datos de fila en fila while(iterator.hasNext()){ HSSFRow hssfRow = (HSSFRow)iterator.next(); Iterator iteratorAuxiliar = hssfRow.cellIterator(); Vector informacionFila = new Vector(); //Me barro todos los elementos de una fila for(short i = hssfRow.getFirstCellNum(); i < hssfRow.getLastCellNum(); i++){ HSSFCell hssfCell = hssfRow.getCell(i); if(hssfCell != null){ switch(hssfCell.getCellType()){ case HSSFCell.CELL_TYPE_BLANK: informacionFila.add(""); break; case HSSFCell.CELL_TYPE_BOOLEAN: informacionFila.add(hssfCell.getBooleanCellValue() ); break; case HSSFCell.CELL_TYPE_FORMULA: informacionFila.add(hssfCell.getStringCellValue()) ; break; case HSSFCell.CELL_TYPE_NUMERIC: informacionFila.add(hssfCell.getNumericCellValue() ); break; case HSSFCell.CELL_TYPE_STRING: informacionFila.add(hssfCell.getStringCellValue()) ; break; default: } } } informacionArchivo.add(informacionFila); } return informacionArchivo; } __________________________________________________ Espero que te sirva con este método he logrado leer datos de un archivo de 12 megas.
Este es un método que te lee los datos del archivo exel y te retorna la información dentro de un vector.
__________________________________________________ __________________________________________________ ______________________________
/**
* Método que se encarga de leer los datos de un archivo en formato excel
* @param file Archivo que se va a proceder a leer
* @return Vector que contiene la informacion del archivo
*/
public Vector leeArchivo(File file){
Vector informacionArchivo = new Vector();
POIFSFileSystem poifsFileSystem = null;
try {
poifsFileSystem = new POIFSFileSystem(new FileInputStream(file));
} catch (FileNotFoundException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
HSSFWorkbook hssfWorkbook = null;
try {
hssfWorkbook = new HSSFWorkbook(poifsFileSystem);
} catch (IOException ex) {
ex.printStackTrace();
}
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(0);
Iterator iterator = hssfSheet.rowIterator();
// Recorro datos de fila en fila
while(iterator.hasNext()){
HSSFRow hssfRow = (HSSFRow)iterator.next();
Iterator iteratorAuxiliar = hssfRow.cellIterator();
Vector informacionFila = new Vector();
//Me barro todos los elementos de una fila
for(short i = hssfRow.getFirstCellNum(); i < hssfRow.getLastCellNum(); i++){
HSSFCell hssfCell = hssfRow.getCell(i);
if(hssfCell != null){
switch(hssfCell.getCellType()){
case HSSFCell.CELL_TYPE_BLANK: informacionFila.add(""); break;
case HSSFCell.CELL_TYPE_BOOLEAN: informacionFila.add(hssfCell.getBooleanCellValue() ); break;
case HSSFCell.CELL_TYPE_FORMULA: informacionFila.add(hssfCell.getStringCellValue()) ; break;
case HSSFCell.CELL_TYPE_NUMERIC: informacionFila.add(hssfCell.getNumericCellValue() ); break;
case HSSFCell.CELL_TYPE_STRING: informacionFila.add(hssfCell.getStringCellValue()) ; break;
default:
}
}
}
informacionArchivo.add(informacionFila);
}
return informacionArchivo;
}
__________________________________________________
Espero que te sirva con este método he logrado leer datos de un archivo de 12 megas.