Para trabajar con excel vamos a hacerlo con el
formato csv , este formato es super simple de utilizar
Para bajar el jar que vamos añadir a nuestro proyecto
lo vamos a buscar aqui:
http://www.csvreader.com/java_csv.phpasi se guarda y es el formato con el cual tenemos que guardar
nuestro archivo
El siguiente ejemplo vamos a guardar un archivo
csv en un Arraylist el cual guarda objetos de la clase
libro( con sus get y set de atrivutos privados)
//////// clase libro /////////////////
public class libro_ingresado {
private String nombre;
private String autor;
private String edicion;
private String anio;
private String codigo;
private String area;
/** Creates a new instance of libro_ingresado */
public libro_ingresado() {
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public String getAutor() {
return autor;
}
public void setAutor(String autor) {
this.autor = autor;
}
public String getEdicion() {
return edicion;
}
public void setEdicion(String edicion) {
this.edicion = edicion;
}
public String getAnio() {
return anio;
}
public void setAnio(String anio) {
this.anio = anio;
}
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
public String getArea() {
return area;
}
public void setArea(String area) {
this.area = area;
}
}
/////// clase de manejo de csv //////////
import com.csvreader.CsvReader;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JOptionPane;
public class leer_archivo {
public ArrayList leer_archivo_exel(String archivo){
ArrayList lista_libros = new ArrayList();
CsvReader reader = null;
try {
reader = new CsvReader(archivo,';');
} catch (FileNotFoundException ex) {
ex.printStackTrace();
JOptionPane.showInputDialog("en leer archivo");
}
try {
reader.readHeaders();
} catch (IOException ex) {
ex.printStackTrace();
}
try {
libro_ingresado libr;
while (reader.readRecord())
{
libr=new libro_ingresado();
libr.setNombre(reader.get("nombre"));
libr.setAutor(reader.get("autor"));
libr.setEdicion(reader.get("edicion"));
libr.setAnio(reader.get("anio"));
libr.setCodigo(reader.get("codigo"));
libr.setArea(reader.get("area"));
lista_libros.add(libr); // añadimos el objeto al arrayList
}
} catch (IOException ex) {
ex.printStackTrace();
System.err.println(" en while readrecord ");
}
reader.close();
return lista_libros; // retorna una objeto de ArrayList
}
}
////////////////////////////////////////////////////////
el siquiente codigo es abrir un JFileChooser donde buscamos
nuestro archivo csv , luego lo seleccionamos y es procesado.
el archivo es pasado a un jtable
////////////////// codigo evento boton ///////////////
DefaultTableModel dtm;
ArrayList libro_recivido=new ArrayList();
JFileChooser fileChooser = new JFileChooser(".");
int status = fileChooser.showOpenDialog(null); //fileChooser
if (status == JFileChooser.APPROVE_OPTION) {
File selectedFile =fileChooser.getSelectedFile();
leer_archivo l=new leer_archivo();
String direccion=selectedFile.getParent()+"/"+selectedFile.getName();
libro_recivido=l.leer_archivo_exel(direccion);
Iterator it=libro_recivido.iterator();
try{
Object datos[] = new Object [6];
dtm = (DefaultTableModel) jTable1.getModel();
for (int i = jTable1.getRowCount() - 1; i>=0; i--)
{
dtm.removeRow(i);
}
while(it.hasNext()){
libro_ingresado lib_ing;
lib_ing=(libro_ingresado) it.next();
datos[0]=lib_ing.getNombre();
datos[1]=lib_ing.getAutor();
datos[2]=lib_ing.getEdicion();
datos[3]=lib_ing.getAnio();
datos[4]=lib_ing.getCodigo();
datos[5]=lib_ing.getArea();
dtm.addRow(datos);
}
} catch(Exception e){
//manejo de error
}
} else if (status == JFileChooser.CANCEL_OPTION) {
System.out.println("cancele");
}
//////////////////////////////////////////////////
como fin un link de interes
http://schmidt.devlib.org/java/libraries-excel.html