Exportation table java-Excel

Résolu
sours2 Messages postés 6 Date d'inscription lundi 18 novembre 2013 Statut Membre Dernière intervention 7 décembre 2013 - 28 nov. 2013 à 22:07
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 2 déc. 2013 à 08:02
Bonjour,
Je veux exporter une table de ma base de données dans un fichier excel organiser avec un titre.
S'il vous plait je cherche un exemple simple est claire.Merci

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 nov. 2013 à 08:40
Salut,

Tu n'as pas de méthode qui te le fasses directement, il va falloir parcourir ta table et exporter les cellules une à une avec JExcelAPI. Si tu regardes dans mes sources, j'ai déposé un tuto sur ce site il y a quelques temps.
0
sours2 Messages postés 6 Date d'inscription lundi 18 novembre 2013 Statut Membre Dernière intervention 7 décembre 2013
29 nov. 2013 à 17:57
OK je vais essayé.
Merci
0
sours2 Messages postés 6 Date d'inscription lundi 18 novembre 2013 Statut Membre Dernière intervention 7 décembre 2013
29 nov. 2013 à 22:58
salut cs_Julien39.
J'ai criée une classe ExcelExporter() avec la methode fillData() qui prend comme paramétres ResultSet rs et le Fichier File. J'appelle cette méthode dans jButton4ActionPerformed() en lui passant les paramètres, et comme résultat le fichier est criée mais (vide) et dans netbeans apparaît l'erreur indiquant "java.lang.NullPointerException ...".
S'il vous plait, si vous pouvez jeter un coup d'oeil là dessus, voilà le code:

// Classe ExcelExporter() :

package Controleur;


import java.io.File;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

import javax.swing.*;
import javax.swing.table.*;

import jxl.*;
import jxl.write.*;



/**
*
* @author Sours
*/
public class ExcelExporter {
private Connexion cn =new Connexion();
private ResultSet rs;
private ResultSetMetaData rsmd;
int a,b;
int i=0;
int j = 0;
public void fillData(ResultSet rs, File file) {

try {

WritableWorkbook workbook1 = Workbook.createWorkbook(file);
WritableSheet sheet1 = workbook1.createSheet("First Sheet", 0);
rsmd = rs.getMetaData();
a=rsmd.getColumnCount();
while(rs.next()){
b++;
}
String data[][]=new String[b][a];
while(rs.next()){
for(i=0;i<a;i++){
data[j][i]=rs.getString(i+1);

}
j++;
}
for ( i = 0; i < a; i++) {
Label column = new Label(i, 0, rsmd.getColumnName(i+1));
sheet1.addCell(column);
}


for ( j = 0; j < b; j++) {
for (i = 0; i < a; i++) {
Label row = new Label(i, j,
data[j][i].toString());
sheet1.addCell(row);
}
}
workbook1.write();
workbook1.close();
} catch (IOException | WriteException ex) {
} catch (SQLException ex) {
Logger.getLogger(ExcelExporter.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

// jButtonactionperformed() :

private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {

rs=cn.ExectSql("select idDeplacement,secteur,typeVehicule,norme,dateDeplacement,matricule,nomLivreur from deplacement where dateDeplacement='2013-11-26'");

try {

exp.fillData(rs, new File("C:/journalier/result.xls"));
JOptionPane.showMessageDialog(null, "Data saved at " +
"'C: /journalier/result.xls' successfully", "Message",
JOptionPane.INFORMATION_MESSAGE);
} catch (Exception ex) {
ex.printStackTrace();
}
}

Merci infiniment.
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
2 déc. 2013 à 08:02
Quelle ligne lève l'exception ?
0
Rejoignez-nous