Buenas tardes a todos!, en esta entrada vengo a presentarles como guardar los datos de un JTable en un archivo que pueda ser abierto por Excel. Para esto primeramente ya tenemos que estar familiarizados almenos con DefaultTableModel y JTable, saber como manipular los datos diferentes maneras de agregar,etc.
Primero que nada creando un proyecto en NetBeans o alguno similar, creamos un JFrame(recomiendo usando el formulario de NetBeans) y agregamos un JTable y un botón con la leyenda “Guardar”
Establecer el modelo y agregar datos predefinidos
Y ahora lo que haremos es rellenar con información la tabla para hacer la muestra, nos vamos a la parte del constructor y haremos lo siguiente
Creamos un modelo y se lo asignamos a nuestra tabla y agregamos 2 columnas que tendrán ya datos cada columna que es el arreglo que le estamos agregando allí
Si corremos nuestro programa tendremos la tabla con 2 columnas y esa información. Lo que haremos para obtener esa información es crear una matriz o un arreglo bidimensional como deseen llamarle, y ahí guardaremos toda la información contenida en la tabla. Para esto crearemos un método llamado obtenerInformacion que devolverá una matriz de cadenas:
Este método nos devolverá un arreglo bidimensional de cadenas que es la que utilizaremos para guardarlo en un fichero con extensión .csv que es la que lo puede abrir el Excel. Si se fijan lo que hace este método es simple, obtiene el tamaño de filas y columnas actuales en la tabla y de ese numero creamos un arreglo llamado matriz, y bloque por bloque en 2 arreglos agregamos la información a nuestra matriz
Guardar un fichero .csv
Entonces lo que haremos, en el botón que agregamos creamos un ActionEvent y escribiremos lo siguiente:
De la línea 114 a la 119 trata de mostrar un dialogo para establecer donde guardaremos y el nombre de nuestro archivo, si se da al botón cancel del dialogo simplemente no hará nada y ya no seguirá con el procedimiento. Se crea un archivo tipo File que es el que se eligió( creo ) en el dialogo y usamos la clase PrintWriter y FileWriter para escribir en un fichero de nuestro ordenador.
Se fijan en la línea 123 llamamos al método creado anteriormente para así ya tener toda la información en una arreglo bidimensional. En el ciclo 124 se escribe el primer elemento que esta en (0,0) o sea la primer fila y columna y el siguiente ciclo se encarga de seguir con las demás columnas pero de la primera fila, y así consecutivamente, el método salida.printLn() es como si escribiéramos un “\n”, ósea un salto de línea.
Por que las comas? “,”
Por que las comas “,” ok esto es por que es la manera de interpretar las celdas en Excel, ósea si nosotros escribimos esto
Isaac,23
Balu,20
y si lo guardamos con una extensión .csv, en Excel se mirara de esta forma
De esta manera estaremos guardando la informacion de nuestros JTables en un fichero que puede ser abierto por Excel
Espero y les sea de ayuda como conmigo lo fue hace un par de semestres!
Code4Fun
EDITO:
Ya van varios que me preguntan como hacer que aparezcan los títulos del JTable al momento de mandarlo a imprimir para que lo abra Excel, solo hay que modificar el metodo «obtenerInformacion», se los dejo sin explicacion, solo noten las diferencias son sencillas!, saludos!
HOLA, me sirvio mucho tu ejemplo, pero nadamas me imprime los nombres y la edad, me gustaría saber si hay existe alguna forma que me imprima el campo nombre y el de edad de la tabla , ojala puedas responderme gracias
hola. como se hace lo inverso? o sea pasar una hoja de execel a un jtable?
No es dificil, si te fijas los archivos de excel .csv estan delimitados por comas, solo restaria pensar un poco y como a comodar unos cuantos bucles para leer lines con dato, dato2, dato3 de un archivo .csv , esta interesante despues preparare un post con eso. saludos y gracias por comentar
Hola bueno soy nuevo aqui y me llamo mucho la atencion este programa y ya los intente hacer y si me sale solo que tengo 4 columnas de las cuales son : Cliente, Edad, Domicilio, Venta y pues lleno la tabla bien pero a la hora de guardar me aparece error y si no le pongo nada a la tabla me lo guarda pero pues no tengo ningun registro y quisiera saber como podria arreglar eso (soy un poco principiante) Gracias Isaac … espero tu respuesta por si acaso
gracias por tu respuesta. he intentado varios bucles pero me dan diferentes excepciones o bien me importan solo algunos datos. el único que me funciono por completo, me muestra los datos pero como lista, o sea uno a continuación del otro, no muestra toda la fila y luego pasa a la siguiente. en fin, segiure intentando muy bueno el tutorial
Estaria bueno si me pasaras el codigo donde tienes esos bucles para ver que podemos hacer!
Isaac me gustaría si me puede ayudar con éste problema, sigo el código, y a la hora de exportar lo exporta todo a una columna, también me gustaría me indique si no es mucha la molestia, donde puedo buscar mas información sobre le manejo de java.swing…
Muchas gracias por su ayuda
hola. este funciona bien pero con hojas de pocos datos, cuando crece la info o el libro tiene mas de 5 columnas, colapsa. pienso que lo corro en ubuntu y puede que ese sea el problema ya que no tengo excel sino calc!!, voy a bajarme java para windows y pruebo a ver si ese es mi problema.
este es el cod:
private void leerelExel() {
try {
//getting the workbook
String file=»/home/lenovo/Documentos/libro.xls»;
Workbook wbook = Workbook.getWorkbook(new File(file));
final Sheet hoja = wbook.getSheet(0);
Cell a1 = hoja.getCell(0, 0);
final int columnas = hoja.getColumns();
final int filas = hoja.getRows();
dtm = new DefaultTableModel() {
@Override
public String getColumnName(int column) {
Cell cell = hoja.getCell(column, 0);
LabelCell lc = (LabelCell) cell;
return lc.getString();
}
@Override
public int getColumnCount(){
return columnas;
}
@Override
public boolean isCellEditable(int row, int col) {
return false;
}
@Override
public int getRowCount() {
return filas-getColumnCount();
}
@Override
public Object getValueAt(int row , int col) {
row++;
Cell cell = hoja.getCell(col, row);
if (cell.getType() == CellType.LABEL) {
LabelCell lc = (LabelCell) cell;
return lc.getString();
} else if (cell.getType() == CellType.NUMBER) {
NumberCell nc = (NumberCell) cell;
if(nc.getValue() % 1 == 0){
return (int)nc.getValue();
} else {
return (double)nc.getValue();
}
} else if (cell.getType() == CellType.DATE) {
DateCell dc = (DateCell) cell;
return dc.getDate();
} else if (cell.getType() == CellType.BOOLEAN) {
BooleanCell bc = (BooleanCell) cell;
return bc.getValue();
} else if (cell.getType() == CellType.EMPTY) {
EmptyCell ec = (EmptyCell) cell;
return ec.getContents();
} else if (cell.getType() == CellType.NUMBER_FORMULA) {
NumberFormulaCell nfc = (NumberFormulaCell) cell;
return nfc.getContents();
}
return null;
}
};
this.personTable.setModel(dtm);
} catch (IOException ex) {
ex.printStackTrace();
} catch (BiffException ex) {
ex.printStackTrace();
}
}
*/
este anda perfecto desde el momento que no arroja error, pero la info me la muestra o en una fila o en una columna según intercambio x e y!!!! si habria una forma de hacer que esa información la lea por fila y luego la fila siguiente la pase en la fila siguiente del jtable sería maravilloso
cod:
public void leerelExel2() {
try {
String file=»/home/lenovo/Documentos/malibro.xls»;
Workbook wbook = Workbook.getWorkbook(new File(file));
Sheet hoja = wbook.getSheet(0);
final int columnas = hoja.getColumns();
final int filas = hoja.getRows();
Cell celdas=null;
for (int i=0;i<filas;i++){
for (int j=0;j<columnas.;j++){
celdas =hoja.getCell(j,i);
dtm.addRow(celdas);
}
}
}
catch (IOException ex) {
ex.printStackTrace();}
catch (BiffException ex) {
ex.printStackTrace();}
}
*/
Has intentado en la parte celdas = hoja.getCell poner (i,j) en vez de lo que tienes? interpreto los parametros como (x , y ) y la variable j son las columnas, o sea Y si lo interpretamos como un plano cartesiano, si ya lo has intentado estoy pensando en otra solucion. un saludo
hola. asi como esta muestra todo en la primer columna y el resto en blanco. si intercambio x e y, lo que hace mostrarme todo en la primera fila, ahora abro el correo y pruebo, mil gracias!!!!!
e tercero es una mezcla con lo de este post pero no pasa nada, si avanzo lo agrego, gracias por su tiempo
Ya tengo una solucion para abrir archivos con extencion .CSV funciona perfectamente pero no la tengo implementada en un JTable pero te paso el codigo sale! (es un proyecto en netbeans) te lo mande a tu correo que pusiste, si no es tu correo dimelo 🙂
Hola que tal como van, quiciera saber que puedo hacer para cambiar el formato de un numero muy grande que se pasa del jtable a excel, ya que si por ejemplo el numero es:+
12345678912363366345669 en excel lo toma de esta forma 1,2345E+22 y se pierde la informacion de los demas numeros.
Hola! 🙂
La verdad no sabría responderte, habrá que buscar en google ya que yo no he tenido necesidad de usar numeros tan grandes en excel y pues no sabia de ese detalle, busca un poco sobre eso en google, si encuentro algo te lo mando!
Saludos!
investigue en google pero la busqueda es complicada, lo unico que necesito es saber si el numero exponencial lo puedo cambiar en excel de manera que me muestre todos los numeros, ya que desafortunadamente excel abre por defecto el formato general y no se como hacer que excel quede con formato texto por defecto en alguna opcion avanzada, la unica solucion que podria presentar esque al guardar el archivo me sobreescriba en un archivo ya existente con el formato TEXTO, pero no se como realizar esta operación.
Primero que nada te dejo mis agradecimentos mas sinceros jajaja, porque de verdad que es esto me a servido mucho, despues de buscar por semanas di con tu post y me afuncionado todo, salvo por un detalle. Al momento de ver el documento no me separa por celdas, como tu dices con las «,» deveria ser pero nu me funciona, cual sera el error?
ojala me puedas ayudar saludos y muchas gracias…
Hola que tal Fernando!
Mira para asegurarnos que este todo funcionando, abre el archivo .csv con un editor de textos comun y corriente y mira que este como en el post:
dato1,dato2,dato3
dato4,dato5,etc
Cuando esta guardados en archivos .csv debe de funcionar al abrirlo en Excel, revisa que tu .csv se este creando de la manera correcta.
Saludos!!
hola soy estudiante de ing. y me llamo la atencion tu oporte ya lo probe pero me guarda la informacion en una sola columna
Hola!, estas seguro de haber puesto el código tal cual?, revisa el bucle for, por que este código esta probado y funcionando, podríamos empezar viendo tu código, saludos!.
Por supuesto, pero en excel seleccionas esa columna, vas al menu datos, luego seleccionas texto en columnas y le dices que separe todos los datos. y listo .
cordialmente,
una mejora al codigo, para los que tienen problema con la salida linea a linea
try
{
PrintWriter salida = new PrintWriter(new FileWriter(archivo +».csv»));
String data[][] = obtenerInformacion();
for(int i = 0;i <data.length; i++)
{
for (int j=0;j<data[i].length;j++)
{
String word = data[i][j];
salida.print (word+ ",");
}
}
salida.println();
}
salida.close();
}catch (IOException io){
System.out.print("error salida"+ io);
}
q tal bro,primero kiero felicitar,está muy bueno el codigo,pro necesito otra cosa,sq yo kiero q se guarden los datos q yo los ingreso,y no los q vienen x defecto!!!! dime cual es el cambio q debo hacerle,lo siento,pro no entiendo muy bien esa parte!!! gracias!!!!
Que tal emilio, mira esta muy sencillo, fijate que en las lineas 35 y 36 estamos llenando la tabla con 2 columnas ya con datos, lo que tu tienes que hacer es programar un jTable como de costumbre, sin esas lineas, programa un DefaultTableModel y llenala como los requisitos de tu software lo pida y con este codigo debe de funcionar, nomas elimina las lineas 35 y 36, espero darme a entender.
De igual manera tengo pensado hacer otro post sobre esto, pero ahora poder abrir archivos .csv e ingresarlos en un jTable, creo ahi podria tambien incluir de nuevo este tema como retroalimentacion.
Saludos
Hola, muy bien tu código, pero como agrego en cada columna Nombre, Edad?
Pues simplemente escribiéndolo en la tabla, o de cualquier modo que se llene un jTable con un defaultTableModel
Holaa, me gustaria hacerte una consulta si no es mucha la patudez, es que realice paso tras paso lo que tu hiciste y me funciona, pero en el excel, no me guarda cada dato en casillas diferentes, ejemplo, segun los datos q pusiste tu, me aparecen isac y 20 en la misma casilla del excel (a1), por un tema de orden me gustaria que fuera separado, ojala me puedas ayudar, de antemano muchas gracias!
Mira abre el archivo csv. Con el bloc de notas Y verifica que los datos estén delimittados por comas sino es así hay alggo mal al momento de guardar los datos, si quieres pasarme el código donde se obtiene la matriz y en donde se guarda el archivo. Saludos
Muy buena explicacion y gracias por compartirlo solo tengo una pregunta, al momento de exportar como puedo hacerle para que me exporte el titulo de la columna del jTable. en tu ejemplo que me imprima Nombre – Edad
isaac – 23
espero me haya explicado bien.
En teoria estamos usando un DefaultTableModel, estoy seguro que este tiene metodos para obtener los titulos, y si es asi solo tienes que asegurarte que el archivo final quede impreso delimitado con comas y saltos de linea, intentare hacerlo y lo pongo aqui!, saludos.!
Que tal, actualice el post, revisalo!, saludos!.
Hola isaac una pregunta el codigo me funciona perfecto, pero cuando lo reviso en el cvs, me sale todo en uan selda, osea como que no funcionan las comas…como puedo solucionar es eproblema?
El codigo esta 100% probado, asi que revisa muy bien todo, las condiciones, las comparaciones, etc. Saludos
está tal cual como lo pusiste tú, he revisado y todo, pero igual
Hola Isaac te hago un consulta, ¿Como puedo guardar los registros que ingreso (nombre, apellido, años, telefono, etc.) en el jTable?, dado que cuando lo cierro y lo vuelvo a abrir en la jTable no se me guarda ningun registro. Saludos.
Que tal Patricio Man! XD,
Mira lo que tienes que hacer definitivamente es guardarlo en un fichero (eso es lo que hacemos en el post pero en formato .csv), tienes muchas opciones (la verdad solo se 3), y es tener una base de datos (algo no muy necesario si no se necesitan guardar muchos datos y hacer consultas), otra opcion es guardarlo en un archivo XML, te recomiendo estos dos posts : Parte 1) https://balusoft.wordpress.com/2011/07/12/usar-un-archivo-xml-como-una-base-de-datos-java-parte-12/ Parte 2) https://balusoft.wordpress.com/2011/07/13/usar-un-archivo-xml-como-una-base-de-datos-java-parte-22/ .
La ultima opcion es guardarlo en un archivo de texto como el .csv, pero tienes que leerlo y acomodarlo al JTable para que al abrir tu aplicacion los datos que escribiste sigan alli, saludos!.
Hola Isaac, estoy leyendo los posts para guardar los registros en un archivo XML, pero me llama mucho la atenciòn el tema de guardarlo en el archivo de texto .csv, tienes algun ejemplo de como hacerlo, con el cual me pueda guiar? Saludos.
Que tal, he preparado un post de como abrir archivos en .csv, espero y te sirva y complementalo con este post en el que comentas, saludos
Post-> https://balusoft.wordpress.com/2012/06/25/abrir-un-archivo-de-excel-csv-en-java/
sigo agredeciendote por la ayuda, de hecho si funciona bien, pero nose en que estoy mal. pero con demaciados datos no exporta nada. estoy llenando el JTable con datos extraidos de una BD creada en postgres he intento exportar mas de 2 mil registros y solo me marca error en la funcion obtenInformacion().
Lo unico que hace ese metodo es guardar los datos del DefaultTableModel, busca la manera de ya no utilizarlo y obtener los datos directos del modelo, tal vez pueda servir asi, saludos.
NOTA: en vez de usar data[i][j] usa modelo.getValueAt(i,j)
brother como guardo el archivo pero con extencion xlsx y no csv
Buenas, genial el aporte per no seria mejor que dejes un link como para descargar el proyecto en si . Gracias 🙂
El punto es que lo hagan y aprendan, no solo lo copien :P, saludos!
Amigo excelente me funciona cuando tengo pocos datos, pero cuando tengo mas datos por ejemplo en mi caso son 9 columnas y 25 filas, me aparece un error en al cargar la matrix especificamente esta parte:
matrix[rowIndex][colIndex] = (String) jTable1.getValueAt(rowIndex, colIndex); por que seria este inconveniente ya modifique de varias maneras pero sigue sin funcionar :,(
Creo que encontre el real problema de mi trabajo no es la cantidad sino el tipo de dato mi jtable tiene datos booleans, int, string y date son los tipos que tengo con los que hago diferentes cosas y creo que eso es lo que produce el error en la carga de matrix no sabrias que podria ser??
Holaa…
una pregunta … por que en esta parte:
String matrix[][] = new String[numFilas + 1][numColumnas];
Se le agrega mas 1 al numero de filas…. estoy con la duda…. no se si me podrias aclarar esa parte… gracias…. ^_^
Disculpa la demora,
Lo mas seguro ( por que ya no lo recuerdo ) es para incluir los títulos, es por eso que agregamos una fila mas
Saludos
perdona en el excel
——————————————
me lo muestra asi
Isaac,23
Balu,20
————————————
yo quiero que salga así
https://balusoft.files.wordpress.com/2011/01/image_thumb12.png?w=198&h=79
como hago copie bn tu código y me sale como el primera parte
Te lo muestra en la misma celda o como??, esa imagen que me muestras es uno generado con ese código, te lo aseguro que funciona bien, revisalo bien!. Saludos
hola buenas tardes.
estoy haciendo una palicacion donde uso JFrame como ventana principal y JDialog como ventans secundarios.
en el JDialog tengo una un boton donde me examina los archivos y selecciono el archivo que quiere abrir, pero quiero abrir un archivo de excel xls. pero al momento que selecciono el archivo no me lo muestra en la tabla.
este es mi codigo Mi boton se llama examina y donde quiero que me muestre los datos del excel se llama table. si me pueden ayudar a encontrar lo que estoy haciendo mal en este codigo.
private void examinaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
JFileChooser archivo=new JFileChooser();
int opcion = archivo.showOpenDialog(this);
if (opcion == JFileChooser.APPROVE_OPTION){
try{
txt_caja.setText(archivo.getSelectedFile().getPath());//Opcional
libro=Workbook.getWorkbook(archivo.getSelectedFile());
//txt_caja.setText(archivo.getSelectedFile().getName());
cargarArchivo();
}catch (BiffException e1) {
e1.printStackTrace();
}catch (IOException e1) {
e1.printStackTrace();
}
}
}
/**
* @param args the command line arguments
*/
public void cargarArchivo(){
Sheet hoja1=libro.getSheet(0);
String [][]datos;
String [] nomcolumnas;
datos=new String[hoja1.getRows()][hoja1.getColumns()];
nomcolumnas=new String[hoja1.getColumns()];
for(int fila=0;fila <= hoja1.getRows();fila++){
for(int columna=0;columna <= hoja1.getColumns();columna++){
datos[fila][columna] = hoja1.getCell(columna,fila).getContents();
nomcolumnas[columna] = ""+columna;
}
}
DefaultTableModel modelonuevo=new DefaultTableModel(datos,nomcolumnas);
table.setModel(modelonuevo);
}//funcio abir archivo de excel
de antemano gracias.
hola bien dia…esta bien el codigo,,, pero mi duda es si ya tengo una jtable creada con mis datos q ocupo…solo quiero exportarla a excel o word…tal como esta.. sin que en el codigo le tenga q poner los datos..ya q yo los voy llenando aparte y tengo un boton q le doy de alta y me los pasa a la table,,,pero esa ya creada…solo la quiero pasar toda.. ya q los valores y datos van a cambiar ya q son diferentes usuarios.???? ayuda
Sigue este post, eso es lo que hace…
Los datos solo los agrego en el constructor, ignora eso y sigue todo lo demas
Saludos!
Me da error en esta linea: File archivo = fileChooser.getSelectedFile();
Ya revise todo y lo tengo igual…
Podríamos empezar diciendo el error, todo código que subo lo subo probado.
Saludos
Buen día, es un error con la variable archivo que esta en esa linea. Ya lo revise varias veces y lo tengo idéntico.
File archivo = fileChooser.getSelectedFile();
Muchas gracias!
Ya me funciono, el problema es que tenia un ; después del if.
Muchas gracias por tu código, funciona a la perfección.
ayuda maestro no puedo guardar mis datos de un jtable en excel
problemas en esta linea matriz1[rowIndex][colIndex]=(String)modelo.getValueAt(rowIndex, colIndex);
Y cual es el problema? fíjate en el código, 100% garantizado que funciona
me marca error en el main, no me corre, en que parte esta el main o en q me eqivoqe
Que tal Santiago,
Esta difícil adivinar que es lo que te falla, si quieres que te ayude se más específico con el error.
Saludos
Que tal buen dia me parecio interesante el tema de este blog pero quisiera saber como exportar los datos a excel pero con sus respectivos nombres de las columnas de la JTable.
Espero que me puedas ayudar ´por favor Gracias.!
Saludos.!!!
Este el código que yo utilizo para exportar a excel
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package controldeproduccion;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import javax.swing.JTable;
//import org.apache.poi.hssf.model.Workbook;
import javax.swing.table.TableModel;
import jxl.write.WritableWorkbook;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WriteException;
/**
*
* @author usuario
*/
public class exporportar {
//
private File file ;
private List tabla;
private List nom_files;
public exporportar(File file, List tabla, List nom_files) throws Exception {
this.file = file;
this.tabla = tabla;
this.nom_files = nom_files;
if(nom_files.size()!=tabla.size()) {
throw new Exception(«Error»);
}
}
//Metodo para exportar los Datos del JTable.
public boolean export(){
try {
//flujo de salida para apuntar donde vamos a ecribir
DataOutputStream out= new DataOutputStream(new FileOutputStream(file));
//representa nuestro archivo excel y necesita un OutputStream para saber a donde se van a lojar los datos
WritableWorkbook w=Workbook.createWorkbook(out);
for (int index=0; index<tabla.size(); index++){
JTable table =tabla.get(index);
//como excel tien muchas hojas esta crea o toma la hoja
//coloca el nombre del "Tab" y el indice de la tabla
WritableSheet s=w.createSheet(nom_files.get(index),0);
for(int i=0; i<table.getColumnCount(); i++){
for(int j=0; j< table.getRowCount(); j++ ){
Object object= table.getValueAt(j, i);
s.addCell(new Label(i,j, String.valueOf(object)));
}
}
}
w.write();
w.close();
out.close();
return true;
}
catch (IOException | WriteException e) {
return false;
}
}
public exporportar() { }
public void exportTable(JTable table, File file) throws IOException {
TableModel model = table.getModel();
FileWriter out = new FileWriter(file);
for(int i=0; i < model.getColumnCount(); i++) {
out.write(model.getColumnName(i) + "\t");
}
out.write("\n");
for(int i=0; i< model.getRowCount(); i++) {
for(int j=0; j < model.getColumnCount(); j++) {
out.write(model.getValueAt(i,j).toString()+"\t");
}
out.write("\n");
}
out.close();
System.out.println("write out to: " + file);
}
}
ola como estas ..! en la U me mandaron hacer un proyecto en netbeans que muestre trasformaciones matriciales y a que a la vez se grafiquen en el plano cartesiano por favor si alguien me puede ayudar
gracias por el aporte…..me sirvio para realizar un sistemilla de organizaciones politicas y enviar a a guardar el archivo en excel……
Ola me llamo omar … tu ejemplo me sirvio de mucho pero quisiera saber como hacer para ir guardando datos en el mismo archivo pero solo aquellos que se acaban de escribir y no sobreescribir el archivo …. ojala y me puedas contestar de ante mano gracias 🙂
hola tengo un problema al ejecutarlo me sale este erro alguna idea?
Exception in thread «AWT-EventQueue-0» java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
Me parece muy bien, pero necesito que me ayudes para visualizar caracteres correctamente como: á,ó,ñ entre otros por que guarda bien los datos pero a al hora de abrirlos no se visualizan en formaro UTF-8
Hola. Soy Tecnologo en Desarrollo de Software y trabajo com programador JAVA. Tu codigo me fue muy conveniente en mi trabajo xD ya que lo aplique a un proyecto que =estoy haciendo. Gracias!
A mi el problema que me esta dando es que la cabecera, o sea, el nombre de las columnas no me lo esta poniendo y me lo esta pasando null … a ver si conocen algo con lo que mepuedan ayudar. Cualquier duda me responden y yo les posteo codigo o algo asi … Saludos desde Republica Dominicana….
fb.com/SanAmaurys
instagram.com/GogoMixx
hola buenas tardes, lleno la tabla con un query y cuando son pocos los datos a mostrar si me los exporta pero cuando son mas de 100 me marca error en este punto
matrix[rowindex+1][colindex]= (String) modelo.getValueAt(rowindex, colindex).toString();
, como lo puedo solucionar trate de modificar el codigo pero me sigue marcando ese erro.
gracias.
Que excepción te muestra?
Hola Isacc,Puse tu codigo igualito, pero me sale en la primera columna (A1) todo junto , lo abri en bloc de nota y no sale delimitado las columnas sino separadas ejemplo
abc, ejemplo1 , cantidad, total
me gustaria q salga bonito como tu ejemplo lo raro q copie igualito tu codigo 😦
Gracias de antemano.
Amigo muchas gracias por compartir tu código!! me fue de gran ayuda 😀
Qué bien! de nada!!
compañero una pregunta si es para guardarlo en una bd se guardaria con un array list o un for que lea filas y columnas del jtable
De todos los ejemplos que había buscado el tuyo es el único que me funcionó . Es muy adaptable a otros programas. Muchas gracias por tu aportación 😀 un saludo.
Excelente aporte, el mejor articulo que hay sobre el tema, se agradece demasiado .
Alguien sabe si se puede tener un archivo excel para guardar varios registros, osea que quede como BD?