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

API standards et tierces Java Discussion :

[POI] Formule non recalculée à l'ajout d'un entier


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut [POI] Formule non recalculée à l'ajout d'un entier
    Bonjour,

    J'écrit dans mon fichier existant qui comporte une formule de calcul:
    J= colonne I/colonne B

    Quand j'ouvre le fichier je vois bien que :
    si j'enleve une validation à la colonne I de la même ligne, la colonne J change en 0.

    En effet, sur la même ligne, la colonne J est une formule de calcul.
    soit :
    J= colonne I/colonne B

    Mais lorsque j'execute mon programme qui écrit dans la colonne I, la colonne J n'est plus calculé !!!

    Pour moi la colonne J devrait être recalculé.

    Quelqu'un a-t-il déja été confronté à ce problème ?

    Merci

  2. #2
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    Trouvé !
    Apparement faut réécrire la cellule de calcul.
    Si quelqu'un a une autre solution sans la réécrire, je suis preneur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //on réécrit la formule du total colonne I
    							row2.setRowNum(20);
    							//System.out.println("on doit se fixer à la ligne 20: "+row2.getRowNum());
    						    cell2 = row2.createCell(8);
    						    String colonneI = "I3:I20";
    						    cell2.setCellFormula("SUM("+colonneI+")");

  3. #3
    Membre éclairé Avatar de amadoulamine1
    Inscrit en
    Avril 2005
    Messages
    260
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 260
    Par défaut
    Excuse je viens de voir ton post
    Au fait il faut reevaluer la cellule contenant la formule avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
    evaluator.evaluate(cell);
    avec cell la cellule contenant la formule.

  4. #4
    Membre éclairé Avatar de mouss4rs
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    884
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 884
    Par défaut
    avec ceci:
    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
    public class LireEcrire {
     
    	/**
             * @param args
             */
    	public static void main(String[] args) {
    		//InputStream inp;
    		try {
    		XSSFWorkbook wb= new XSSFWorkbook("workbook.xlsx");
     
     
    	    Sheet sheet = wb.getSheetAt(0);//onglet 0
    	    Row row = sheet.getRow(0);//ligne 0
    	    Cell cell = row.getCell(8);// colonne 8 (D)
    	    FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
    	    evaluator.evaluate(cell);
    	    if (cell == null)
    	        cell = row.createCell(8);
    	    cell.setCellType(Cell.CELL_TYPE_STRING);
    	    cell.setCellValue("i write in my sheet 'test'");
     
    	    // Write the output to a file
    	    FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
    	    wb.write(fileOut);
    	    fileOut.close();
    		} catch (FileNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
     
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
     
    	}
    }
    Toujours la même erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
    	at LireEcrire.main(LireEcrire.java:25)
    Caused by: java.lang.ClassNotFoundException: org.apache.xmlbeans.XmlException
    	at java.net.URLClassLoader$1.run(Unknown Source)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    	... 1 more
    la ligne 25 étant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XSSFWorkbook wb= new XSSFWorkbook("workbook.xlsx");

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POI]: Formule de Somme existante non recalculée
    Par mouss4rs dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 02/05/2012, 12h27
  2. Champ oui/non et requête ajout
    Par kiki.gaby dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 02/01/2009, 12h24
  3. Formule non mise à jour
    Par scully2501 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/11/2008, 12h57
  4. Formule non reconnue sous Excel 2007
    Par Akonyss dans le forum Excel
    Réponses: 3
    Dernier message: 24/06/2008, 21h10
  5. Requête de non correspondance et Ajout
    Par gentoo dans le forum Access
    Réponses: 5
    Dernier message: 29/01/2007, 14h52

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