Enviado por dlldrv el día 1 de agosto de 2008
he logrado leer pero solo una linea y lo lee dos veces, alguien me puede ver que me falta para que siga leyendo las demas lineas del archivo de excel
tener un archivo en el c:\ que se llame ejemplo ngresarle(numerico,numerico,caracter,boolean,date, para los tipos de los campos del xls)
1 2 prueba true 31/07/2008
3 5 otra prueba false 31/07/2008
me encontre este DemoJExcel,java
package reportes;
import java.io.*;
import java.util.Date;
import jxl.*;
import jxl.read.biff.BiffException;
import jxl.write.*;
public class DemoJExcel
{
public static void main(String[] args)
{
//escribirExcel();
leerExcel();
System.out.println("Ejemplo Finalizado.");
}
public static void leerExcel()
{
try
{
//Se abre el fichero Excel
Workbook workbook = Workbook.getWorkbook(new File("ejemplo.xls"));
//Se obtiene la primera hoja
Sheet sheet = workbook.getSheet(0);
int rows = sheet.getRows();
//Iterator rows = sheet.rowIterator();
//.getPhysicalNumberOfRows();
for (int r = 0; r < rows; r++)
{
//Se leen las primeras 5 celdas
for(int i=0; i<5; i++)
{
//Se obtiene la celda i-esima
Cell cell = sheet.getCell(i,0);
//Se imprime en pantalla la celda según su tipo
if (cell.getType() == CellType.NUMBER)
{
System.out.println("Número: " + ((NumberCell)cell).getValue());
}
else if (cell.getType() == CellType.LABEL)
{
System.out.println("String: " + ((LabelCell)cell).getString());
}
else if (cell.getType() == CellType.BOOLEAN)
{
System.out.println("Boolean: " + ((BooleanCell)cell).getValue());
}
else if (cell.getType() == CellType.DATE)
{
System.out.println("Fecha: " + ((DateCell)cell).getDate());
}
}
}
}
catch (Exception ex)
{
System.out.println("Error!");
}
}
/*public static void escribirExcel()
{
try
{
//Se crea el libro Excel
WritableWorkbook workbook =
Workbook.createWorkbook(new File("ejemplo.xls"));
//Se crea una nueva hoja dentro del libro
WritableSheet sheet =
workbook.createSheet("HojaEjemplo", 0);
//Creamos celdas de varios tipos
sheet.addCell(new jxl.write.Number(0, 0, 1));
sheet.addCell(new jxl.write.Number(1, 0, 1.2));
sheet.addCell(new jxl.write.Label(2, 0, "ejemplo"));
sheet.addCell(new jxl.write.Boolean(3,0,true));
//Creamos una celda de tipo fecha y la mostramos
//indicando un patón de formato
DateFormat customDateFormat =
new DateFormat ("d/m/yy h:mm");
WritableCellFormat dateFormat =
new WritableCellFormat (customDateFormat);
sheet.addCell(new jxl.write.DateTime(4, 0, new Date(), dateFormat));
//Escribimos los resultados al fichero Excel
workbook.write();
workbook.close();
leerExcel();
System.out.println("Ejemplo finalizado.");
}
catch (IOException ex)
{
System.out.println("Error al crear el fichero.");
}
catch (WriteException ex)
{
System.out.println("Error al escribir el fichero.");
}
}
*/
}