Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2013, 09:54
Suicide2013
 
Fecha de Ingreso: abril-2013
Mensajes: 9
Antigüedad: 11 años
Puntos: 0
Problema al exportar jTable a Excel

Buenos Días/Tardes.

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 0rowIndex numFilasrowIndex++)
        {
            for(
int colIndex 0colIndex numColumnascolIndex++)
            {
                if(!
siCapturedTheTitles)
                {
                    
matrix[0][colIndex] = jTable1.getColumnName(colIndex);
                    
siCapturedTheTitles = (rowIndex 0)?true:false;
                }
                
matrix [rowIndex 1][colIndex] = (String) model.getValueAt(rowIndexcolIndex);
            }
        }
        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 0data.lengthi++)
            {
                
salida.print(data[i][0]);
                
                for(
int j 1data[i].lengthj++)
                {
                    
String word data[i][j];
                    
                    if(
word != null)
                    {
                        
salida.print("," word);
                    }
                    else
                    {
                        
salida.print(",");
                    }
                }
                
salida.println();
            }
            
salida.close();
        }
        catch (
IOException io)
        {
            
        } 
Si no me equivoco, el problema esta en la línea "salida.print("," + word);", me dijeron que la coma era el identificador de una celda al momento de imprimir una salida, pero en vez de eso, me inserta la coma en la misma celda.

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.