Example usage for org.apache.poi.xwpf.usermodel XWPFDocument createTable

List of usage examples for org.apache.poi.xwpf.usermodel XWPFDocument createTable

Introduction

In this page you can find the example usage for org.apache.poi.xwpf.usermodel XWPFDocument createTable.

Prototype

public XWPFTable createTable() 

Source Link

Document

Create an empty table with one row and one column as default.

Usage

From source file:org.cgiar.ccafs.marlo.utils.POISummary.java

License:Open Source License

public void textTable(XWPFDocument document, List<List<POIField>> sHeaders, List<List<POIField>> sData,
        Boolean highlightFirstColumn, String tableType) {
    XWPFTable table = document.createTable();
    int record = 0;
    int headerIndex = 0;
    for (List<POIField> poiParameters : sHeaders) {

        // Setting the Header
        XWPFTableRow tableRowHeader;//ww  w. j a v  a  2s .  c  om
        if (headerIndex == 0) {
            tableRowHeader = table.getRow(0);
        } else {
            tableRowHeader = table.createRow();
        }
        for (POIField poiParameter : poiParameters) {

            // Condition for table b cell color in fields 5 and 6
            if (tableType.equals("tableBAnnualReport") && (record == 4 || record == 5)) {
                TABLE_HEADER_FONT_COLOR = "DEEAF6";
            } else {
                TABLE_HEADER_FONT_COLOR = "FFF2CC";
            }

            if (headerIndex == 0) {
                if (record == 0) {
                    XWPFParagraph paragraph = tableRowHeader.getCell(0).addParagraph();
                    paragraph.setAlignment(poiParameter.getAlignment());
                    XWPFRun paragraphRun = paragraph.createRun();
                    this.addParagraphTextBreak(paragraphRun, poiParameter.getText());
                    paragraphRun.setColor(TEXT_FONT_COLOR);
                    if (poiParameter.getBold() != null) {
                        paragraphRun.setBold(poiParameter.getBold());
                    } else {
                        paragraphRun.setBold(true);
                    }
                    paragraphRun.setFontFamily(FONT_TYPE);
                    paragraphRun.setFontSize(TABLE_TEXT_FONT_SIZE);

                    tableRowHeader.getCell(record).setColor(TABLE_HEADER_FONT_COLOR);
                } else {
                    XWPFParagraph paragraph = tableRowHeader.createCell().addParagraph();
                    paragraph.setAlignment(poiParameter.getAlignment());
                    XWPFRun paragraphRun = paragraph.createRun();
                    this.addParagraphTextBreak(paragraphRun, poiParameter.getText());
                    paragraphRun.setColor(TEXT_FONT_COLOR);
                    if (poiParameter.getBold() != null) {
                        paragraphRun.setBold(poiParameter.getBold());
                    } else {
                        paragraphRun.setBold(true);
                    }
                    paragraphRun.setFontFamily(FONT_TYPE);
                    paragraphRun.setFontSize(TABLE_TEXT_FONT_SIZE);

                    tableRowHeader.getCell(record).setColor(TABLE_HEADER_FONT_COLOR);
                }
            } else {
                XWPFParagraph paragraph = tableRowHeader.getCell(record).addParagraph();
                paragraph.setAlignment(poiParameter.getAlignment());
                XWPFRun paragraphRun = paragraph.createRun();
                this.addParagraphTextBreak(paragraphRun, poiParameter.getText());
                paragraphRun.setColor(TEXT_FONT_COLOR);
                if (poiParameter.getBold() != null) {
                    paragraphRun.setBold(poiParameter.getBold());
                } else {
                    paragraphRun.setBold(true);
                }
                paragraphRun.setFontFamily(FONT_TYPE);
                paragraphRun.setFontSize(TABLE_TEXT_FONT_SIZE);

                tableRowHeader.getCell(record).setColor(TABLE_HEADER_FONT_COLOR);
            }
            record++;
        }
        headerIndex++;
        record = 0;
    }

    for (List<POIField> poiParameters : sData) {
        record = 0;

        // Condition for table b cell color in fields 5 and 6
        if (tableType.equals("tableBAnnualReport") && (record == 4 || record == 5)) {
            TABLE_HEADER_FONT_COLOR = "DEEAF6";
        } else {
            TABLE_HEADER_FONT_COLOR = "FFF2CC";
        }

        XWPFTableRow dataRow = table.createRow();
        for (POIField poiParameter : poiParameters) {
            count++;
            XWPFParagraph paragraph = dataRow.getCell(record).addParagraph();
            paragraph.setAlignment(poiParameter.getAlignment());
            // Hyperlink
            if (poiParameter.getUrl() != null && !poiParameter.getUrl().isEmpty()) {
                this.textHyperlink(poiParameter.getUrl(), poiParameter.getText(), paragraph);
            } else {
                XWPFRun paragraphRun = paragraph.createRun();
                this.addParagraphTextBreak(paragraphRun, poiParameter.getText());
                if (poiParameter.getFontColor() != null) {
                    paragraphRun.setColor(poiParameter.getFontColor());
                } else {
                    paragraphRun.setColor(TEXT_FONT_COLOR);
                }
                paragraphRun.setFontFamily(FONT_TYPE);
                paragraphRun.setFontSize(TABLE_TEXT_FONT_SIZE);

                // Condition for table b cell color in fields 5 and 6
                if (tableType.equals("tableBAnnualReport") && (record == 4 || record == 5)) {
                    TABLE_HEADER_FONT_COLOR = "DEEAF6";
                    dataRow.getCell(record).setColor("DEEAF6");
                } else {
                    TABLE_HEADER_FONT_COLOR = "FFF2CC";
                }

                // highlight and bold first and SecondColumn for table D1
                if (tableType.equals("tableD1AnnualReport") && (record == 0 || record == 1) && count < 9) {
                    dataRow.getCell(record).setColor("DEEAF6");
                    paragraphRun.setBold(true);
                } else if (tableType.equals("tableD1AnnualReport") && count >= 9
                        && (record == 0 || record == 1)) {
                    dataRow.getCell(record).setColor("E2EFD9");
                    paragraphRun.setBold(true);

                } else {
                    if (highlightFirstColumn && record == 0) {
                        dataRow.getCell(record).setColor(TABLE_HEADER_FONT_COLOR);
                        if (poiParameter.getBold() != null) {
                            paragraphRun.setBold(poiParameter.getBold());
                        } else {
                            paragraphRun.setBold(true);
                        }
                    } else {
                        if (poiParameter.getBold() != null) {
                            paragraphRun.setBold(poiParameter.getBold());
                        } else {
                            paragraphRun.setBold(false);
                        }
                    }
                }

            }
            record++;
        }

    }

    switch (tableType) {
    case "tableA":
        this.tableAStyle(table);
        break;
    case "tableE":
        this.tableEStyle(table);
        break;
    case "tableC":
        this.tableCStyle(table);
        break;
    case "tableF":
        this.tableFStyle(table);
        break;
    case "tableG":
        this.tableGStyle(table);
        break;

    case "tableAAnnualReport":
        this.tableBAnnualReportStyle(table);
        break;
    case "tableA1AnnualReport":
        this.tableA1AnnualReportStyle(table);
        break;
    case "tableA2AnnualReport":
        this.tableA1AnnualReportStyle(table);
        break;
    case "tableBAnnualReport":
        this.tableBAnnualReportStyle(table);
        break;
    case "tableCAnnualReport":
        count = 0;
        this.tableCStyle(table);
        break;
    case "tableD1AnnualReport":
        this.tableD1AnnualReportStyle(table);
        break;
    case "tableD2AnnualReport":
        count = 0;
        this.tableAStyle(table);
        break;
    case "tableEAnnualReport":
        this.tableGStyle(table);
        break;
    case "tableFAnnualReport":
        this.tableFStyle(table);
        break;
    case "tableGAnnualReport":
        this.tableGStyle(table);
        break;
    case "tableHAnnualReport":
        this.tableGStyle(table);
        break;
    case "tableIAnnualReport":
        this.tableIAnnualReportStyle(table);
        break;
    case "tableJAnnualReport":
        this.tableJAnnualReportStyle(table);
        break;
    }
    if (tableType.contains("AnnualReport")) {
        table.getCTTbl().addNewTblPr().addNewTblW().setW(BigInteger.valueOf(13350));
    } else {
        table.getCTTbl().addNewTblPr().addNewTblW().setW(BigInteger.valueOf(12000));
    }

}

From source file:percobaannpoi.NewNPOI.java

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
    XWPFDocument document = new XWPFDocument();

    //Write the Document in file system
    FileOutputStream out;/*from  ww  w. j  a v a 2s  . c  o  m*/
    try {
        out = new FileOutputStream(new File("create_table.docx"));
        XWPFTable table = document.createTable();

        String[] stringsatu = { "M01", "M02", "M03" };
        String[] stringdua = { "Miranti", "Sumiati", "Samsul" };
        String[] stringtiga = { "Terbaik 2013", "Teladan 2014", "Terfavorit 2013" };

        //create first row
        XWPFTableRow tableRowOne = table.getRow(0);
        tableRowOne.getCell(0).setText("NIM");
        tableRowOne.addNewTableCell().setText("Nama");
        tableRowOne.addNewTableCell().setText("Prestasi");

        for (int i = 0; i < 3; i++) {
            XWPFTableRow tableRowTwo = table.createRow();
            tableRowTwo.getCell(0).setText(stringsatu[i]);
            tableRowTwo.getCell(1).setText(stringdua[i]);
            tableRowTwo.getCell(2).setText(stringtiga[i]);
        }

        document.write(out);
        out.flush();
        out.close();
        System.out.println("create_table.docx written successully");
    } catch (Exception ex) {
        Logger.getLogger(NewNPOI.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:pqm.client.DocGenerator.java

public static void tabela_fcs_pn(XWPFDocument document) {

    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("MATRIZES DA METODOLOGIA PQM:");

    XWPFTable table = document.createTable();
    XWPFTableRow tableRowOne = table.getRow(0);
    tableRowOne.getCell(0).setText("");

    teste t1 = new teste();
    pqm = t1.escreve();/*www  .  jav  a2s  .c om*/

    /* ler fcs e colocar na tabela*/
    int num_fcs = pqm.fcs.size();
    for (int i = 0; i < num_fcs; i++) {
        tableRowOne.addNewTableCell().setText(pqm.fcs.get(i).texto);
    }

    /*criar analise */
    for (int i = 0; i < 3; i++) {
        tableRowOne.addNewTableCell();
    }
    tableRowOne.getCell(num_fcs + 1).setText("Tot. Imp");
    tableRowOne.getCell(num_fcs + 2).setText("Qual. Proc.");
    tableRowOne.getCell(num_fcs + 3).setText("Proc. Gast");

    /*processos*/
    for (int j = 0; j < pqm.processosNegocio.processos.size(); j++) {
        int contador = 0;
        XWPFTableRow tableRow = table.createRow();
        tableRow.getCell(0).setText("" + pqm.processosNegocio.processos.get(j).id + " - "
                + pqm.processosNegocio.processos.get(j).texto);
        int cont_cell = pqm.processosNegocio.processos.get(j).relacoes.size();
        for (int x = 0; x < cont_cell; x++) {
            if (pqm.processosNegocio.processos.get(j).relacoes.get(x).estado == true) {
                tableRow.getCell(x + 1).setText("x");
                contador++;
            }
        }
        cont_cell++;
        tableRow.getCell(cont_cell).setText(Integer.toString(contador));
        cont_cell++;
        tableRow.getCell(cont_cell).setText(pqm.processosNegocio.processos.get(j).qualidadep);
        cont_cell++;
        if (pqm.processosNegocio.processos.get(j).gastador == true) {
            tableRow.getCell(cont_cell).setText("x");
        }
    }

    paragraph = document.createParagraph();
    run = paragraph.createRun();
    run.setText("Tabela 1 - Analise dos FCS nos PN");

}

From source file:pqm.client.DocGenerator.java

public static void gerar_matriz1(XWPFDocument document) {

    /*criar matrizes*/
    XWPFTable table1 = document.createTable();

    XWPFTableRow tableRow = table1.getRow(0);
    tableRow.getCell(0).setText("   4   ");

    for (int i = 3; i > 0; i--) {
        table1.createRow().getCell(0).setText("   " + Integer.toString(i) + "   ");
    }/*w  w  w .  ja  v a  2  s . c  o  m*/

    table1.createRow().getCell(0).setText("");

    for (int i = 0; i <= 4; i++) {
        for (int j = 1; j <= 5; j++) {
            table1.getRow(i).addNewTableCell();
        }
    }

    table1.getRow(4).getCell(1).setText("   E   ");
    table1.getRow(4).getCell(2).setText("   D   ");
    table1.getRow(4).getCell(3).setText("   C   ");
    table1.getRow(4).getCell(4).setText("   B   ");
    table1.getRow(4).getCell(5).setText("   A   ");

    /*preencher matriz*/

    teste t1 = new teste();
    pqm = t1.escreve();

    int tot_imp = 0;
    String qual;
    int qual_int = 0;
    String id_p;
    for (int p = 0; p < pqm.processosNegocio.processos.size(); p++) {
        for (int t = 0; t < pqm.processosNegocio.processos.get(p).relacoes.size(); t++) {
            if (pqm.processosNegocio.processos.get(p).relacoes.get(t).estado == true)
                tot_imp++;
        }
        qual = pqm.processosNegocio.processos.get(p).qualidadep;

        if (qual.equals("E") || qual.equals("e"))
            qual_int = 1;
        else if (qual.equals("D") || qual.equals("d"))
            qual_int = 2;
        if (qual.equals("C") || qual.equals("c"))
            qual_int = 3;
        if (qual.equals("B") || qual.equals("b"))
            qual_int = 4;
        if (qual.equals("A") || qual.equals("a"))
            qual_int = 5;

        id_p = pqm.processosNegocio.processos.get(p).id;
        System.out.println("tot_imp: " + tot_imp);
        table1.getRow(4 - tot_imp).getCell(qual_int).setText(id_p + " ");

        if (pqm.processosNegocio.processos.get(p).gastador == true) {
            proc_gastador.add(pqm.processosNegocio.processos.get(p).id);
        }

        if (4 - tot_imp == 4 && qual_int == 1 || qual_int == 2 || qual_int == 3) {
            proc_criticos.add(id_p);
            proc_criticos.add(pqm.processosNegocio.processos.get(p).texto);
        } else if (4 - tot_imp == 3 && qual_int == 1 || qual_int == 2) {
            proc_criticos.add(id_p);
            proc_criticos.add(pqm.processosNegocio.processos.get(p).texto);
        } else if (4 - tot_imp == 2 && qual_int == 1) {
            proc_criticos.add(id_p);
            proc_criticos.add(pqm.processosNegocio.processos.get(p).texto);
        }

        tot_imp = 0;
    }

    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("Tabela 2 - Divisao dos Processos por nivel de importancia e criticidade");
}

From source file:pqm.client.DocGenerator.java

public static void tabela_importancia(XWPFDocument document) {
    /*criar tabela pn vs fcs */
    XWPFTable table = document.createTable();
    XWPFTableRow tableRowOne = table.getRow(0);
    tableRowOne.getCell(0).setText("");
    /*tableRowOne.addNewTableCell().setText("FC1");
    tableRowOne.addNewTableCell().setText("FC2");*/

    teste t1 = new teste();
    pqm = t1.escreve();/*www.  j a  va  2s .  co  m*/

    /* ler fcs e colocar na tabela*/
    int num_fcs = pqm.fcs.size();
    for (int i = 0; i < num_fcs; i++) {
        tableRowOne.addNewTableCell().setText(pqm.fcs.get(i).texto);
    }

    /*criar analise */
    for (int i = 0; i < 5; i++) {
        tableRowOne.addNewTableCell();
    }

    /*escrever analise*/
    tableRowOne.getCell(num_fcs + 1).setText("Tot. Imp");
    tableRowOne.getCell(num_fcs + 2).setText("Qual. Proc.");
    tableRowOne.getCell(num_fcs + 3).setText("Proc. Gast");
    tableRowOne.getCell(num_fcs + 4).setText("Qual. Neg.");
    tableRowOne.getCell(num_fcs + 5).setText("Qual. Tecn.");

    /*processos*/
    for (int j = 0; j < pqm.processosNegocio.processos.size(); j++) {
        int contador = 0;
        XWPFTableRow tableRow = table.createRow();
        tableRow.getCell(0).setText("" + pqm.processosNegocio.processos.get(j).id + " - "
                + pqm.processosNegocio.processos.get(j).texto);
        int cont_cell = pqm.processosNegocio.processos.get(j).relacoes.size();
        for (int x = 0; x < cont_cell; x++) {
            if (pqm.processosNegocio.processos.get(j).relacoes.get(x).estado == true) {
                tableRow.getCell(x + 1).setText("x");
                contador++;
            }
        }
        cont_cell++;
        tableRow.getCell(cont_cell).setText(Integer.toString(contador));
        cont_cell++;
        tableRow.getCell(cont_cell).setText(pqm.processosNegocio.processos.get(j).qualidadep);
        cont_cell++;
        if (pqm.processosNegocio.processos.get(j).gastador == true) {
            tableRow.getCell(cont_cell).setText("x");
        }
        cont_cell++;
        tableRow.getCell(cont_cell).setText(pqm.processosNegocio.processos.get(j).qualidaden);
        cont_cell++;
        tableRow.getCell(cont_cell).setText(pqm.processosNegocio.processos.get(j).qualidadet);
    }
    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("Tabela 3 - Analise da importancia dos FCS nos PN e nas IT associadas");
}

From source file:pqm.client.DocGenerator.java

public static void gerar_matriz2(XWPFDocument document) {

    /*criar matrizes*/
    XWPFTable table1 = document.createTable();
    XWPFTableRow tableRow = table1.getRow(0);
    tableRow.getCell(0).setText("   A   ");

    table1.createRow().getCell(0).setText("   B   ");
    table1.createRow().getCell(0).setText("   C   ");
    table1.createRow().getCell(0).setText("   D   ");
    table1.createRow().getCell(0).setText("");

    for (int i = 0; i <= 4; i++) {
        for (int j = 1; j <= 4; j++) {
            table1.getRow(i).addNewTableCell();
        }//from   w  w  w.  j  av  a  2  s  .  c  o  m
    }

    table1.getRow(4).getCell(1).setText("    D    ");
    table1.getRow(4).getCell(2).setText("    C    ");
    table1.getRow(4).getCell(3).setText("    B    ");
    table1.getRow(4).getCell(4).setText("    A    ");

    /*preencher matriz*/

    teste t1 = new teste();
    pqm = t1.escreve();

    int qual_neg = 0;
    String qual_n;
    String qual_t;
    int qual_int = 0;
    String id_p;
    for (int p = 0; p < pqm.processosNegocio.processos.size(); p++) {

        qual_n = pqm.processosNegocio.processos.get(p).qualidaden;
        if (qual_n.equals("D") || qual_n.equals("d"))
            qual_neg = 3;
        else if (qual_n.equals("C") || qual_n.equals("c"))
            qual_neg = 2;
        if (qual_n.equals("B") || qual_n.equals("b"))
            qual_neg = 1;
        if (qual_n.equals("A") || qual_n.equals("a"))
            qual_neg = 0;

        qual_t = pqm.processosNegocio.processos.get(p).qualidadet;

        if (qual_t.equals("D") || qual_t.equals("d"))
            qual_int = 1;
        else if (qual_t.equals("C") || qual_t.equals("c"))
            qual_int = 2;
        if (qual_t.equals("B") || qual_t.equals("b"))
            qual_int = 3;
        if (qual_t.equals("A") || qual_t.equals("a"))
            qual_int = 4;

        id_p = pqm.processosNegocio.processos.get(p).id;
        table1.getRow(qual_neg).getCell(qual_int).setText(id_p + " ");

        if (qual_neg == 1 || qual_neg == 0 && qual_int == 1 || qual_int == 2) {
            proc_ti.add(id_p);
            proc_ti.add(pqm.processosNegocio.processos.get(p).texto);
        }

        qual_neg = 0;
        qual_int = 0;

    }

    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    run.setText("Tabela 4 - Divisao dos processos por nivel de criticidade");
}

From source file:service.Read_Write_File.java

public void SetDOCX_DT(List<Bordereau> bordereaus, List<CorpDetat> corpDetats, List<ArticleChp1> articlechp1s,
        List<ArticleChp2> articlechp2s) throws Exception {

    //    XWPFDocument document = new XWPFDocument(); //creete a new documment 
    XWPFDocument doc = new XWPFDocument();

    //FileInputStream is = new FileInputStream("D:\\a.jpg"); 

    // doc.addPictureData(IOUtils.toByteArray(fs), doc.PICTURE_TYPE_JPEG);

    //doc.create(id,doc.getNextPicNameNumber(doc.PICTURE_TYPE_JPEG), 64, 64);
    XWPFParagraph para2 = doc.createParagraph();
    para2.setAlignment(ParagraphAlignment.CENTER);
    XWPFRun run = para2.createRun();//ww  w  .  j a  v a 2  s .  c om
    run.setBold(true);
    run.setFontSize(40);

    // run.addPicture(pic, doc.PICTURE_TYPE_JPEG, "3", 0, 0);

    // run.addPicture(fs, doc.PICTURE_TYPE_JPEG, blipId, 100, 100);
    //  run.addPicture(is,2, "kamal", 20, 20);
    //run.addPicture(IOUtils.toByteArray(is), doc.PICTURE_TYPE_JPEG);
    run.setText("\n \t Descriptif technique  \n ");

    // pour article d projet
    XWPFParagraph para3 = doc.createParagraph();
    // para2.setAlignment(ParagraphAlignment.CENTER);
    run = para3.createRun();
    run.setText(" I- article de votre projet :");
    run.setFontSize(18);
    run.setBold(true);

    XWPFParagraph para4 = doc.createParagraph();// pour les article chp 1
    run = para4.createRun();
    run.setText("    I-1 article chapitre1   :   \n");
    run.setFontSize(14);
    run.setBold(true);
    run.addBreak();

    int i = 1;
    for (ArticleChp1 loadarticlechp1 : articlechp1s) {// kan3amar text1 dyal articlchp1
        run = para4.createRun();
        run.setText("      " + i + ")- " + loadarticlechp1.getTitre());
        run.addBreak();
        i++;
    }
    XWPFParagraph para5 = doc.createParagraph(); // pour les articles chp2
    run = para5.createRun();
    run.setText("    I-2 article chapitre2   :   \n");
    run.setFontSize(14);
    run.setBold(true);
    run.addBreak();
    i = 1;
    for (ArticleChp2 loadarticlechp2 : articlechp2s) {// text2 dyla articlechp2
        run = para5.createRun();
        run.setText("       " + i + ")- " + loadarticlechp2.getTitre());
        run.addBreak();
        i++;
    }

    // corpdetat de projet
    XWPFParagraph para6 = doc.createParagraph();
    // para2.setAlignment(ParagraphAlignment.CENTER);
    run = para6.createRun();
    run.setText("\t II- corps dtat :");
    run.setFontSize(18);
    run.setBold(true);
    run.addBreak();
    //  run.setColor("#999");

    i = 1;
    // bouclage pourles coprs et posts dyal kola corps 
    for (CorpDetat loaDetat : corpDetats) {
        run = para6.createRun();
        run.setText("       II-" + i + "- " + loaDetat.getTitre() + "  : ");
        run.setFontSize(16);

        run.addBreak();

        int j = 1;
        for (Post loadpost : loaDetat.getPosts()) {
            run = para6.createRun();
            run.setText("                 " + i + "-" + j + ")  " + loadpost.getTitre() + " ");
            run.addBreak();
            j++;
        }
        i++;
    }

    // 
    // bordeauraux
    XWPFParagraph para = doc.createParagraph();

    run = para.createRun();
    run.setBold(true);
    run.setFontSize(18);
    run.setText("     bordereau de prix ");
    run.addBreak();
    run = para.createRun();

    //Creates a table 
    XWPFTable tab = doc.createTable();
    tab.setWidth(500);

    tab.setCellMargins(50, 200, 50, 200);

    XWPFTableRow row1 = tab.getRow(0);

    row1.getCell(0).setText("designation");
    row1.getCell(0).setColor("FF9900");

    row1.addNewTableCell().setText("Unite");
    row1.getCell(1).setColor("FF9900");

    row1.addNewTableCell().setText("Quantite");
    row1.getCell(2).setColor("FF9900");

    row1.addNewTableCell().setText("prix");
    row1.getCell(3).setColor("FF9900");

    row1.addNewTableCell().setText("montant");
    row1.getCell(4).setColor("FF9900");
    i = 1;
    for (Bordereau loadbordereau : bordereaus) {

        XWPFTableRow loadRow = null;
        loadRow = tab.createRow();

        loadRow.getCell(0).setText(loadbordereau.getDesignation() + "");
        loadRow.getCell(1).setText(loadbordereau.getUnite());
        if (loadbordereau.getQuanite() == 0) {
            loadRow.getCell(2).setText("");

        } else {
            loadRow.getCell(2).setText(loadbordereau.getQuanite() + "");
        }
        if (loadbordereau.getPrix() == 0) {
        } else {
            loadRow.getCell(3).setText(loadbordereau.getPrix() + "");
        }
        if (loadbordereau.getMontant() == 0.0) {
        } else {
            loadRow.getCell(4).setText(loadbordereau.getMontant() + "");
        }

    }

    XWPFTableRow row3 = null;
    row3 = tab.createRow();
    row3.getCell(0).setText("TVA");
    row3.getCell(0).setColor("FF9900");

    XWPFTableRow row4 = null;
    row4 = tab.createRow();
    row4.getCell(0).setText("HTTC");
    row4.getCell(0).setColor("FF9900");

    try {
        doc.write(new FileOutputStream("D:\\test2.docx"));
        // InputStream pica = new FileInputStream("D:\\test2.docx");
        //FileInputStream fis = new FileInputStream("D:\\test2.docx");
        if (Desktop.isDesktopSupported()) {
            Desktop.getDesktop().open(new File("D:\\test2.docx"));
        }
    } catch (IOException ex) {

    }

}