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 :

[Excel] XLS avec histogramme


Sujet :

Documents Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut [Excel] XLS avec histogramme
    Bonjour,
    Je cherche à créer des fichiers excel (xls) contenant des histogrammes.
    POI et Jexcel me permettent de créer des xls mais pas d'y ajouter des histogrammes....
    Quelqu'un a une idée ?

  2. #2
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Bonsoir,
    Si tu essaie de créer le xls et l'histogramme avant et que ensuite tu rentre les données excel avec java ca fonctionne mais pour creer l'histogramme directement avec POI je ne sais pas désolé

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 64
    Par défaut
    j'ai le mème problème :j'ai un fichier excel contenant un histogramme qui est construit automatiquement à partir d'un tableau de valeurs qui est présent aussi sur le fichier excel et je veux visualiser ces histogrammes sur une interface graphique en java svp pouvez vous m'aider svp?

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 288
    Par défaut
    D'après la documentation de Apache POI, cette possibilité est intégrée dans poi 3.8. Voici un exemple de code pour le créer un histogramme en partant de zéro avec un programme Java :
    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
    package org.apache.poi.xssf.usermodel.examples;
     
    import java.io.FileOutputStream;
    import org.apache.poi.ss.usermodel.*;
    import org.apache.poi.ss.util.*;
    import org.apache.poi.ss.usermodel.charts.*;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
     
    /**
     * Illustrates how to create a simple scatter chart.
     *
     * @author Roman Kashitsyn
     */
    public class ScatterChart {
     
        public static void main(String[] args) throws Exception {
            Workbook wb = new XSSFWorkbook();
            Sheet sheet = wb.createSheet("Sheet 1");
            final int NUM_OF_ROWS = 3;
            final int NUM_OF_COLUMNS = 10;
     
            // Create a row and put some cells in it. Rows are 0 based.
            Row row;
            Cell cell;
            for (int rowIndex = 0; rowIndex < NUM_OF_ROWS; rowIndex++) {
                row = sheet.createRow((short) rowIndex);
                for (int colIndex = 0; colIndex < NUM_OF_COLUMNS; colIndex++) {
                    cell = row.createCell((short) colIndex);
                    cell.setCellValue(colIndex * (rowIndex + 1));
                }
            }
     
            Drawing drawing = sheet.createDrawingPatriarch();
            ClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 0, 5, 10, 15);
     
            Chart chart = drawing.createChart(anchor);
            ChartLegend legend = chart.getOrCreateLegend();
            legend.setPosition(LegendPosition.TOP_RIGHT);
     
            ScatterChartData data = chart.getChartDataFactory().createScatterChartData();
     
            ValueAxis bottomAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.BOTTOM);
            ValueAxis leftAxis = chart.getChartAxisFactory().createValueAxis(AxisPosition.LEFT);
            leftAxis.setCrosses(AxisCrosses.AUTO_ZERO);
     
            ChartDataSource<Number> xs = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(0, 0, 0, NUM_OF_COLUMNS - 1));
            ChartDataSource<Number> ys1 = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(1, 1, 0, NUM_OF_COLUMNS - 1));
            ChartDataSource<Number> ys2 = DataSources.fromNumericCellRange(sheet, new CellRangeAddress(2, 2, 0, NUM_OF_COLUMNS - 1));
     
     
            data.addSerie(xs, ys1);
            data.addSerie(xs, ys2);
     
            chart.plot(data, bottomAxis, leftAxis);
     
            // Write the output to a file
            FileOutputStream fileOut = new FileOutputStream("ooxml-scatter-chart.xlsx");
            wb.write(fileOut);
            fileOut.close();
        }
    }
    De mémoire 'après certains Dans les verisons antérieures, il faut :
    1- Créer un template excel avec un histogramme
    2- Lier l'histogramme à des données
    3- Modifier dynamiquement les données pour avoir son histogramme.

    Bon courage.
    Merci de lire les règles du forum et surtout celle là Message clair et précis.
    Evitons les ctrl c ctrl v => Ne sortons pas les codes de leur contexte sinon ça ne marche pas.

  5. #5
    Invité de passage
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1
    Par défaut
    Merci pracede2005 !
    Cela fait un moment que je cherche à générer des graphes Excel à partir de Java ! Sinon vs connaissez ou je peux trouver des tutos ou documentation quelconque pour générer les graphes ...... Merci

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/07/2012, 17h54
  2. [PHP 5.2] Ouvrir un fichier xls avec Excel
    Par arthuro45 dans le forum Langage
    Réponses: 4
    Dernier message: 01/06/2010, 13h24
  3. Connecter une bd excel .xls avec BDE
    Par Georges Plétinckx dans le forum Bases de données
    Réponses: 4
    Dernier message: 17/03/2010, 16h00
  4. Réponses: 4
    Dernier message: 28/11/2008, 12h23
  5. Création XLS avec histogramme
    Par ericw78 dans le forum Documents
    Réponses: 5
    Dernier message: 07/02/2006, 09h29

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