public static void exportDecote(HashMap<String, Double> deCote, Article_fabrication art,
            HashMap<String, String> infosArticle, int ligne, Vector<String> option, Commande uneCommande) throws Exception {
        Locale locale = Locale.getDefault();
        DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, locale);
        Date aujourdhui = new Date();
        InputStream xlsRefStream;
        int cptOption = 0;
        if (ligne == 3) {
            xlsRefStream = new FileInputStream(mesParam.getParam("decoteModel") + "/NouvelleDecote.xls");
        } else {
            xlsRefStream = new FileInputStream(mesParam.getParam("folderCommandePath") + "/" + uneCommande.getRef_dossier() + "/Decote.xls");
        }
        Workbook refWorkbook = Workbook.getWorkbook(xlsRefStream);
        File outFile = new File(mesParam.getParam("folderCommandePath") + "/" + uneCommande.getRef_dossier() + "/Decote.xls");
        WritableWorkbook outWorkbook = Workbook.createWorkbook(outFile, refWorkbook);
        WritableSheet out = outWorkbook.getSheet(0);


        label = new Label(0, 0, "Decote de la commande " + infosArticle.get("reference"));
        label.setCellFormat(out.getCell(0, 0).getCellFormat());
        out.addCell(label);

        label = new Label(2, 14, infosArticle.get("reference"));
        label.setCellFormat(out.getCell(2, 14).getCellFormat());
        out.addCell(label);

        label = new Label(2, 15, dateFormat.format(aujourdhui));
        label.setCellFormat(out.getCell(2, 15).getCellFormat());
        out.addCell(label);

        label = new Label(2, 16, infosArticle.get("nbproduit"));
        label.setCellFormat(out.getCell(2, 16).getCellFormat());
        out.addCell(label);
        if (infosArticle.containsKey("nom")) {
            if (infosArticle.containsKey("prenom")) {
                label = new Label(12, 14, infosArticle.get("nom") + " " + infosArticle.get("prenom"));
                label.setCellFormat(out.getCell(12, 14).getCellFormat());
                out.addCell(label);
            } else {
                label = new Label(12, 14, infosArticle.get("nom"));
                label.setCellFormat(out.getCell(12, 14).getCellFormat());
                out.addCell(label);
            }
        }

        label = new Label(12, 15, infosArticle.get("telephone"));
        label.setCellFormat(out.getCell(12, 15).getCellFormat());
        out.addCell(label);
        label = new Label(12, 16, infosArticle.get("mail"));
        label.setCellFormat(out.getCell(12, 16).getCellFormat());
        out.addCell(label);

        label = new Label(0, ligne, art.getNom());
        label.setCellFormat(out.getCell(0, ligne).getCellFormat());
        out.addCell(label);
        if (deCote.containsKey("largeurCaisson")) {
            number = new Number(15, ligne, deCote.get("largeurCaisson"));
            number.setCellFormat(out.getCell(15, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("hauteurCaisson")) {
            number = new Number(14, ligne, deCote.get("hauteurCaisson"));
            number.setCellFormat(out.getCell(14, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("hauteurCoulisse")) {
            number = new Number(12, ligne, deCote.get("hauteurCoulisse"));
            number.setCellFormat(out.getCell(12, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("largeurLame")) {
            number = new Number(8, ligne, deCote.get("largeurLame"));
            number.setCellFormat(out.getCell(8, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("lameAjourer")) {
            number = new Number(6, ligne, deCote.get("lameAjourer"));
            number.setCellFormat(out.getCell(6, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("axe")) {
            number = new Number(10, ligne, deCote.get("axe"));
            number.setCellFormat(out.getCell(10, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("quantite")) {
            number = new Number(3, ligne, deCote.get("quantite"));
            number.setCellFormat(out.getCell(3, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("hauteur")) {
            number = new Number(2, ligne, deCote.get("hauteur"));
            number.setCellFormat(out.getCell(2, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("largeur")) {
            number = new Number(1, ligne, deCote.get("largeur"));
            number.setCellFormat(out.getCell(1, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("nombreLame")) {
            number = new Number(7, ligne, deCote.get("nombreLame"));
            number.setCellFormat(out.getCell(7, ligne).getCellFormat());
            out.addCell(number);
        }
        if (deCote.containsKey("lameNonAjourer")) {
            number = new Number(5, ligne, deCote.get("lameNonAjourer"));
            number.setCellFormat(out.getCell(5, ligne).getCellFormat());
            out.addCell(number);
        }
        if (infosArticle.containsKey("couleurcoffre")) {
            label = new Label(16, ligne, infosArticle.get("couleurcoffre"));
            label.setCellFormat(out.getCell(16, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("couleurtablier")) {
            label = new Label(9, ligne, infosArticle.get("couleurtablier"));
            label.setCellFormat(out.getCell(9, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("couleurcoulisse")) {
            label = new Label(13, ligne, infosArticle.get("couleurcoulisse"));
            label.setCellFormat(out.getCell(13, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("lame")) {
            label = new Label(4, ligne, infosArticle.get("lame"));
            label.setCellFormat(out.getCell(4, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("coulisse")) {
            label = new Label(11, ligne, infosArticle.get("coulisse"));
            label.setCellFormat(out.getCell(11, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("pose")) {
            label = new Label(17, ligne, infosArticle.get("pose"));
            label.setCellFormat(out.getCell(17, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("typemanoeuvre")) {
            label = new Label(18, ligne, infosArticle.get("typemanoeuvre"));
            label.setCellFormat(out.getCell(18, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("cotemanoeuvre")) {
            label = new Label(19, ligne, infosArticle.get("cotemanoeuvre"));
            label.setCellFormat(out.getCell(19, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("puissance")) {
            label = new Label(20, ligne, infosArticle.get("puissance"));
            label.setCellFormat(out.getCell(20, ligne).getCellFormat());
            out.addCell(label);
        }
        if (infosArticle.containsKey("telecomande")) {
            label = new Label(0, ligne + 17, infosArticle.get("telecomande"));
            label.setCellFormat(out.getCell(0, ligne + 17).getCellFormat());
            out.addCell(label);
        }
        cptOption = 20;
        for (String s : option) {
            label = new Label(12, cptOption, s);
            label.setCellFormat(out.getCell(12, cptOption).getCellFormat());
            out.addCell(label);
            cptOption++;
        }
        outWorkbook.write();
        outWorkbook.close();
    }