Mi problema parece ser muy sencillo, pero no lo puedo resolver. Tengo un método el cual exporta (exitosamente) los datos de un jtable que lleno de una BD a un Excel, el problema es que si bien me exporta todos los datos al Excel, no los separa por celdas, más bien, junta todo en una celda... y no encuentro la solución. Les dejo el código para que verifiquen.
Código que llena de información de un jTable:
Código PHP:
public String [][] obtenerInformacion()
{
int numFilas = model.getRowCount();
int numColumnas = model.getColumnCount();
boolean siCapturedTheTitles = false;
String matrix[][] = new String [numFilas + 1][numColumnas];
for(int rowIndex = 0; rowIndex < numFilas; rowIndex++)
{
for(int colIndex = 0; colIndex < numColumnas; colIndex++)
{
if(!siCapturedTheTitles)
{
matrix[0][colIndex] = jTable1.getColumnName(colIndex);
siCapturedTheTitles = (rowIndex > 0)?true:false;
}
matrix [rowIndex + 1][colIndex] = (String) model.getValueAt(rowIndex, colIndex);
}
}
return matrix;
}
Código que Exporta el jTable a Excel:
Código PHP:
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int resultado = fileChooser.showSaveDialog(this);
if(resultado == JFileChooser.CANCEL_OPTION)
{
return;
}
File archivo = fileChooser.getSelectedFile();
try
{
PrintWriter salida = new PrintWriter(new FileWriter(archivo + ".csv"));
String data[][] = obtenerInformacion();
for(int i = 0; i < data.length; i++)
{
salida.print(data[i][0]);
for(int j = 1; j < data[i].length; j++)
{
String word = data[i][j];
if(word != null)
{
salida.print("," + word);
}
else
{
salida.print(",");
}
}
salida.println();
}
salida.close();
}
catch (IOException io)
{
}
Como debería imprimir: |Titulo 1|Titulo 2| Titulo 3|
Como imprime: |Titulo1,Titulo2,Titulo3|
¿Creen que me podrían ayudar? Muy agradecido de antemano cualquier respuesta de su parte.