LEER ARCHIVOS EXCEL .XLSX

15 comments
Hola amigos javeros, bueno hace algunos días ayude a un amigo para poder leer archivos de EXCEL 2007, aunque ya contaba con un código que leia los archivos .xls los archivos Excel XLSX se leen de manera diferente, primaro para realizar esto es necesario contar con las siguientes librerías.
  • • poi-3.7-20101029
  • • poi-ooxml-3.7-20101029
  • • poi-ooxml-schemas-3.7-20101029
  • • poi-scratchpad-3.7-20101029
  • • xmlbeans-2.3.0
  • • dom4j-1.6.1
Una vez que contamos con esta información es momento de pasar al código a continuación les dejo el código.
    import java.io.File;
    import java.io.FileInputStream;
    import java.text.ParseException;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    public class Prueba {
    public Prueba(File fileName) throws ParseException{
    List cellDataList = new ArrayList();
    try{
    FileInputStream fileInputStream = new FileInputStream( fileName);
    XSSFWorkbook workBook = new XSSFWorkbook(fileInputStream);
    XSSFSheet hssfSheet = workBook.getSheetAt(0);
    Iterator rowIterator = hssfSheet.rowIterator();
    while0 (rowIterator.hasNext()){
    XSSFRow hssfRow = (XSSFRow) rowIterator.next();
    Iterator iterator = hssfRow.cellIterator();
    List cellTempList = new ArrayList();
    while (iterator.hasNext()){
    XSSFCell hssfCell = (XSSFCell) iterator.next();
    cellTempList.add(hssfCell);
    }
    cellDataList.add(cellTempList);
    }
    }catch (Exception e)
    {e.printStackTrace();}
    Leer(cellDataList);
    }
    private void Leer(List cellDataList){
    for (int i = 0; i < cellDataList.size(); i++){
    List cellTempList = (List) cellDataList.get(i);
    for (int j = 0; j < cellTempList.size(); j++){
    XSSFCell hssfCell = (XSSFCell) cellTempList.get(j);
    String stringCellValue = hssfCell.toString();
    System.out.print(stringCellValue+" ");
    }
    System.out.println();
    }
    }
    public static void main(String[] args) throws ParseException{
    File f=new File("C:/prueba.xlsx");
    if(f.exists()){
    Prueba pb=new Prueba(f);
    }
    }
    }
Nota: este código solo funciona con archivos con extensión .XLSX para los archivos con extensión .xls se utiliza otro código que posteo uno de mis compañeros, saludos.