Java - convertir datos de un jtable de tipo char y date a string para poder exportar la hoja en excel

 
Vista:
sin imagen de perfil

convertir datos de un jtable de tipo char y date a string para poder exportar la hoja en excel

Publicado por daniel (2 intervenciones) el 11/01/2017 00:23:13
hola, alguien podria ayudarme a exportar un jtable a excel. ya logre exportar una hoja con datos de tipo string unicamente. pero necesito exportar otra hoja con datos de una consulta de tipo string, date, char, string. el metodo de consulta se realiza mediante un between por fechas. mi metodo para exportar a excel es el siguiente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//metodo:
 
public String[][] obtener(){
        int numfilas=modelo1.getRowCount();
        int numcolumnas=modelo1.getColumnCount();
        boolean isCaptureTheTitles=false;
        String matrix[][]=new String[numfilas+1][numcolumnas];
 
        for (int rowIndex = 0; rowIndex < numfilas; rowIndex++) {
            for (int colindex = 0; colindex < numcolumnas; colindex++) {
 
                    if (!isCaptureTheTitles) {
                    matrix[0] [colindex] = modelo1.getColumnName(colindex);
                    isCaptureTheTitles=(rowIndex>0)?true:false;
                }
                    matrix[rowIndex+1][colindex]=(String) modelo1.getValueAt(rowIndex, colindex);
 
            }
        }
        return matrix;
    }
 
 
 
// boton
 
private void jButton11ActionPerformed(java.awt.event.ActionEvent evt) {
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[][]=obtener();
                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) {
        }
    }

este metodo ya lo tengo aplicado a un jtable con datos string unicamente y funciona a la perfeccion. pero al utilizarlo en este me marca un error por que no todas las celdas son de tipo string.

por favor ayuda :(

Sin-titulo
Sin-tituloa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder