IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

[POI] Importer fichier Excel avec plusieurs feuilles


Sujet :

Documents Java

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 9
    Points
    9
    Par défaut [POI] Importer fichier Excel avec plusieurs feuilles
    Bonjour,

    Quelqu'un saurait-il m'indiquer comment importer toutes les feuilles d'un fichier Excel dans un seul bouton ? Je suis juste parvenu à parcourir une feuille.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Importer dans un bouton ???

    Les objets workbooks possèdent une méthode qui permet de choisir une Feuille/onglets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getSheet("nom de la feuille");
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Importer dans un bouton ???

    Les objets workbooks possèdent une méthode qui permet de choisir une Feuille/onglets :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getSheet("nom de la feuille");
    Oui je voulais dire que je veux programmer un button en Java Swing pour importer un fichier excel de plusieurs feuilles.

    donc je dois utiliser plusieurs boucle mais je veut savoir comment je peut le faire

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Bah un boucle sur tout les feuilles devrait suffire.

    Pour savoir le nombre de feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    workbook.getNumberOfSheets()
    devrait le faire.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Boucle for ?

    getNumberOfSheets()
    getSheetAt(int index)

    Ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int index = 0; index< workbook.getNumberOfSheets();index++){
        HSSFSheet aSheet = workbook.getSheetAt(index);
    }
    Tu peux aussi le faire par les noms des feuilles, mais plus chiant. Dans tout les cas, cela montre bien que tu n'es pas aller voir la documentation de base de l'API que tu utilise. Ce qui est dommageable.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    Citation Envoyé par kolodz Voir le message
    Boucle for ?

    getNumberOfSheets()
    getSheetAt(int index)

    Ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(int index = 0; index< workbook.getNumberOfSheets();index++){
        HSSFSheet aSheet = workbook.getSheetAt(index);
    }
    Tu peux aussi le faire par les noms des feuilles, mais plus chiant. Dans tout les cas, cela montre bien que tu n'es pas aller voir la documentation de base de l'API que tu utilise. Ce qui est dommageable.

    Cordialement,
    Patrick Kolodziejczyk.

    Merci pour votre aide.

    Mais mon problème c'est pas au niveau de nombre de feuille mais plutôt comment parcourir les données de toutes les feuilles pour les insérer dans une base de données, même si je fais une boucle pour chaque feuille mais seulement les données de la première feuille qui s’insèrent dans la base de données.

    Espérant que j'ai bien expliqué mon soucis

  7. #7
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Montre nous ton code !
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  8. #8
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Citation Envoyé par ninoch07 Voir le message
    Espérant que j'ai bien expliqué mon soucis
    Pas du tout
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 9
    Points
    9
    Par défaut
    voici le code pour mieux vous expliquer.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
     
     
    FileInputStream fils = new FileInputStream(file.getPath());
     
    HSSFWorkbook workbook = new HSSFWorkbook(fils);
    HSSFSheet sheet = workbook.getSheetAt(0);
    HSSFSheet sheet1 = workbook.getSheetAt(1);
    HSSFSheet sheet2 = workbook.getSheetAt(2);
    HSSFSheet sheet3 = workbook.getSheetAt(3);
    HSSFSheet sheet4 = workbook.getSheetAt(4);
     
    Object a = new Object();
                            Object b = new Object();
                            Object c = new Object();
                            Object d = new Object();
                            Object e = new Object();
                            Object f = new Object();
                            Object g = new Object();
                            for (int j = 16; j < sheet.getLastRowNum(); j++) {
                                HSSFRow row = sheet.getRow(j);
                                if (row.getCell(1).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    a = row.getCell(1).getStringCellValue();
                                }
                                if (row.getCell(1).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    a = row.getCell(1).getNumericCellValue();
                                }
                                if (row.getCell(1) == null || row.getCell(1).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    a = "";
                                }
                                if (row.getCell(2).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    b = (String) row.getCell(2).getStringCellValue();
                                }
                                if (row.getCell(2).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    b = row.getCell(2).getNumericCellValue();
                                }
                                if (row.getCell(2) == null || row.getCell(2).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    b = "";
                                }
                                if (row.getCell(3).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    c = (String) row.getCell(3).getStringCellValue();
                                }
                                if (row.getCell(3).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    c = row.getCell(3).getNumericCellValue();
                                }
                                if (row.getCell(3) == null || row.getCell(3).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    c = "";
                                }
                                if (row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    d = (String) row.getCell(4).getStringCellValue();
                                }
                                if (row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    d = row.getCell(4).getNumericCellValue();
                                }
                                if (row.getCell(4) == null || row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    d = "";
                                }
                                if (row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    e = (String) row.getCell(5).getStringCellValue();
                                }
                                if (row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    e = row.getCell(5).getNumericCellValue();
                                }
                                if (row.getCell(5) == null || row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    e = "";
                                }
                                if (row.getCell(6).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    f = (String) row.getCell(6).getStringCellValue();
                                }
                                if (row.getCell(6).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    f = row.getCell(6).getNumericCellValue();
                                }
                                if (row.getCell(6) == null || row.getCell(6).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    f = "";
                                }
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    g = (String) row.getCell(7).getStringCellValue();
                                }
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    g = row.getCell(7).getNumericCellValue();
                                }
                                if (row.getCell(7) == null || row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    g = "";
                                }
     
                                String requete = "INSERT INTO soudage VALUES(null,'" + a + "','" + b + "','" + c + "','" + d + "','" + e + "','" + f + "','" + g + "')";
                                preparedStatement = connexion.prepareStatement(requete);
                                preparedStatement.executeUpdate();
     
                                 }
     
    for (int j = 7; j < sheet1.getLastRowNum(); j++) {
                                HSSFRow row = sheet1.getRow(j);
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    a = row.getCell(7).getStringCellValue();
                                }
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    a = row.getCell(7).getNumericCellValue();
                                }
                                if (row.getCell(7) == null || row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    a = "";
                                }
                                if (row.getCell(9).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    b = (String) row.getCell(9).getStringCellValue();
                                }
                                if (row.getCell(9).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    b = row.getCell(9).getNumericCellValue();
                                }
                                if (row.getCell(9) == null || row.getCell(9).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    b = "";
                                }
                                if (row.getCell(10).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    c = (String) row.getCell(10).getStringCellValue();
                                }
                                if (row.getCell(10).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    c = row.getCell(10).getNumericCellValue();
                                }
                                if (row.getCell(10) == null || row.getCell(10).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    c = "";
                                }
     
                                String requete = "INSERT INTO soudage1 VALUES(null,'" + a + "','" + b + "','" + c + "')";
                                preparedStatement = connexion.prepareStatement(requete);
                                preparedStatement.executeUpdate(); 
    }
    voila mon problème c'est que après la première boucle je trouve le sheet1 est vide donc j'arrive pas a insérer les données de sheet1 dans ma BDD.

  10. #10
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Je vais directement commenté le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
     
     
    FileInputStream fils = new FileInputStream(file.getPath());
     
    HSSFWorkbook workbook = new HSSFWorkbook(fils);
    // On a dit une boucle for pas une déclaration statique aussi mal venu !
    HSSFSheet sheet = workbook.getSheetAt(0);
    HSSFSheet sheet1 = workbook.getSheetAt(1);
    HSSFSheet sheet2 = workbook.getSheetAt(2);
    HSSFSheet sheet3 = workbook.getSheetAt(3);
    HSSFSheet sheet4 = workbook.getSheetAt(4);
     
    // Déclaration d'objet sans nom ou type pour savoir ce qu'ils présentent.
    // Ne devrait jamais avoir lieu !
    Object a = new Object();
                            Object b = new Object();
                            Object c = new Object();
                            Object d = new Object();
                            Object e = new Object();
                            Object f = new Object();
                            Object g = new Object();
    // Pourquoi on commence à 16 ?
                            for (int j = 16; j < sheet.getLastRowNum(); j++) {
                                HSSFRow row = sheet.getRow(j);
    // Si tu compte réalise le même code 7 fois de suite autant faire une fonction !
    // On ne parlera pas du fait de ça pique les yeux.
                                if (row.getCell(1).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    a = row.getCell(1).getStringCellValue();
                                }
                                if (row.getCell(1).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    a = row.getCell(1).getNumericCellValue();
                                }
                                if (row.getCell(1) == null || row.getCell(1).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    a = "";
                                }
                                if (row.getCell(2).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    b = (String) row.getCell(2).getStringCellValue();
                                }
                                if (row.getCell(2).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    b = row.getCell(2).getNumericCellValue();
                                }
                                if (row.getCell(2) == null || row.getCell(2).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    b = "";
                                }
                                if (row.getCell(3).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    c = (String) row.getCell(3).getStringCellValue();
                                }
                                if (row.getCell(3).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    c = row.getCell(3).getNumericCellValue();
                                }
                                if (row.getCell(3) == null || row.getCell(3).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    c = "";
                                }
                                if (row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    d = (String) row.getCell(4).getStringCellValue();
                                }
                                if (row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    d = row.getCell(4).getNumericCellValue();
                                }
                                if (row.getCell(4) == null || row.getCell(4).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    d = "";
                                }
                                if (row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    e = (String) row.getCell(5).getStringCellValue();
                                }
                                if (row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    e = row.getCell(5).getNumericCellValue();
                                }
                                if (row.getCell(5) == null || row.getCell(5).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    e = "";
                                }
                                if (row.getCell(6).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    f = (String) row.getCell(6).getStringCellValue();
                                }
                                if (row.getCell(6).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    f = row.getCell(6).getNumericCellValue();
                                }
                                if (row.getCell(6) == null || row.getCell(6).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    f = "";
                                }
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    g = (String) row.getCell(7).getStringCellValue();
                                }
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    g = row.getCell(7).getNumericCellValue();
                                }
                                if (row.getCell(7) == null || row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    g = "";
                                }
     // Requête en dur sans protection par rapport au variable que tu lis. Si tu as un ' dans ton fichier ton script plante.
                                String requete = "INSERT INTO soudage VALUES(null,'" + a + "','" + b + "','" + c + "','" + d + "','" + e + "','" + f + "','" + g + "')";
                                preparedStatement = connexion.prepareStatement(requete);
                                preparedStatement.executeUpdate();
     
                                 }
    // Déclaration de fonction ?
    // Pourquoi 7 cette fois ci ?
    for (int j = 7; j < sheet1.getLastRowNum(); j++) {
                                HSSFRow row = sheet1.getRow(j);
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    a = row.getCell(7).getStringCellValue();
                                }
                                if (row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    a = row.getCell(7).getNumericCellValue();
                                }
                                if (row.getCell(7) == null || row.getCell(7).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    a = "";
                                }
                                if (row.getCell(9).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    b = (String) row.getCell(9).getStringCellValue();
                                }
                                if (row.getCell(9).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    b = row.getCell(9).getNumericCellValue();
                                }
                                if (row.getCell(9) == null || row.getCell(9).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    b = "";
                                }
                                if (row.getCell(10).getCellType() == HSSFCell.CELL_TYPE_STRING) {
                                    c = (String) row.getCell(10).getStringCellValue();
                                }
                                if (row.getCell(10).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
                                    c = row.getCell(10).getNumericCellValue();
                                }
                                if (row.getCell(10) == null || row.getCell(10).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
                                    c = "";
                                }
     
                                String requete = "INSERT INTO soudage1 VALUES(null,'" + a + "','" + b + "','" + c + "')";
                                preparedStatement = connexion.prepareStatement(requete);
                                preparedStatement.executeUpdate(); 
    }
    Ce qui pour un programmeur qui se respecte un minimum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    FileInputStream fils = new FileInputStream(file.getPath());
     
    HSSFWorkbook workbook = new HSSFWorkbook(fils);
    for (int i = 0; i < workbook .getNumberOfSheets(); i++) {
        HSSFSheet sheet = workbook.getSheetAt(i);
        for (int j = 7; j < sheet1.getLastRowNum(); j++) {
            HSSFRow row = sheet1.getRow(j);
            String requete = "INSERT INTO soudage1 VALUES(null,'" + getValueFromRowAtCell(row, 7) + "','" + getValueFromRowAtCell(row, 9) + "','" + getValueFromRowAtCell(row, 10) + "')";
            preparedStatement = connexion.prepareStatement(requete);
            preparedStatement.executeUpdate(); 
        }
    }
     
    public static Object getValueFromRowAtCell(Row row, int cellIndex){
        if (row.getCell(cellIndex).getCellType() == HSSFCell.CELL_TYPE_STRING) {
            // TODO ajouter une protection ici pour les '
            return row.getCell(cellIndex).getStringCellValue();
        }
        if (row.getCell(cellIndex).getCellType() == HSSFCell.CELL_TYPE_NUMERIC) {
            return row.getCell(cellIndex).getNumericCellValue();
        }
        // Ce test ne sert à rien, car sinon on ne retourne rien.
        //if (row.getCell(cellIndex) == null || row.getCell(cellIndex).getCellType() == HSSFCell.CELL_TYPE_BLANK) {
        //    return "";
        //}
        return "";
    }
    Après, il faut bien comprendre que le code donnée n'est qu'une présentation simpliste de ce que tu devrais avoir. Pas du code blindé, ni même compilable tel que (Ou sinon c'est par chance.)

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

Discussions similaires

  1. Comment générer un fichier Excel avec plusieurs feuilles ?
    Par sinoun dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 15/03/2018, 15h16
  2. Import d'un fichier excel avec plusieurs onglets
    Par pepitoluna dans le forum Import/Export
    Réponses: 1
    Dernier message: 06/03/2014, 13h48
  3. Réponses: 0
    Dernier message: 23/03/2010, 11h45
  4. Créer un fichier excel avec plusieurs feuilles à partir d'un fichier html
    Par yuukuari dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 07/12/2009, 16h07
  5. Réponses: 4
    Dernier message: 12/05/2009, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo