Example usage for org.apache.poi.xwpf.usermodel XWPFTableRow createCell

List of usage examples for org.apache.poi.xwpf.usermodel XWPFTableRow createCell

Introduction

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

Prototype

public XWPFTableCell createCell() 

Source Link

Document

create a new XWPFTableCell and add it to the tableCell-list of this tableRow

Usage

From source file:AkashApplications.src.GenerateInvoice.java

public boolean printInvoice(boolean printCommand)
        throws FileNotFoundException, InvalidFormatException, IOException {

    XWPFDocument document = new XWPFDocument();
    CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
    CTPageMar pageMar = sectPr.addNewPgMar();
    pageMar.setLeft(BigInteger.valueOf(720L));
    pageMar.setTop(BigInteger.valueOf(460L));
    pageMar.setRight(BigInteger.valueOf(720L));
    pageMar.setBottom(BigInteger.valueOf(460L));

    XWPFParagraph dateP = document.createParagraph();
    XWPFRun dateRun = dateP.createRun();
    dateRun.addBreak();// www.j  a v  a 2  s .c  o  m
    dateRun.setText(copyType);
    dateRun.setFontSize(8);
    dateRun.setItalic(true);
    dateP.setAlignment(ParagraphAlignment.RIGHT);
    dateRun.addBreak();

    XWPFParagraph title = document.createParagraph();
    XWPFRun titleRun = title.createRun();
    titleRun.addBreak();
    titleRun.setText("Delivery Challan");
    titleRun.setBold(true);
    title.setAlignment(ParagraphAlignment.CENTER);
    titleRun.addBreak();

    //header table
    XWPFTable productTable = document.createTable();
    productTable.setCellMargins(50, 50, 50, 50);
    productTable.getCTTbl().getTblPr().unsetTblBorders();
    productTable.getCTTbl().addNewTblPr().addNewTblW().setW(BigInteger.valueOf(11000));

    XWPFTableRow row1 = productTable.getRow(0);

    XWPFTableCell cellSellerBuyer = row1.getCell(0);
    cellSellerBuyer.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(5000));

    CTTc ctTc = cellSellerBuyer.getCTTc();
    CTTcPr tcPr = ctTc.getTcPr();
    CTTcBorders border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    //        border.addNewRight().setVal(STBorder.SINGLE);
    border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    XWPFParagraph seller = cellSellerBuyer.addParagraph();
    XWPFRun sellerRun = seller.createRun();
    seller.setAlignment(ParagraphAlignment.LEFT);
    sellerRun.setText("Buyer :");
    sellerRun.addBreak();
    String[] ar = buyerAddress.split("\n");
    for (String s : ar) {
        sellerRun.setText(s);
        sellerRun.addBreak();
    }

    XWPFTableCell cellProductDesc = row1.createCell();
    cellProductDesc.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(6000));

    ctTc = cellProductDesc.getCTTc();
    tcPr = ctTc.getTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    border.addNewRight().setVal(STBorder.SINGLE);
    //border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    XWPFParagraph productDesc = cellProductDesc.addParagraph();
    productDesc.setAlignment(ParagraphAlignment.LEFT);
    XWPFRun runInvoice = productDesc.createRun();

    //        if(table.getRowCount() == 1)
    //        {
    //            runInvoice.addTab();
    //            runInvoice.addTab();
    //            runInvoice.addTab();
    //            String imgLoc = "Barcodes/"+ dtm.getValueAt(0, 6) +".jpg";
    //            FileInputStream image = new FileInputStream(imgLoc);
    //            runInvoice.addPicture(image, XWPFDocument.PICTURE_TYPE_JPEG,imgLoc, Units.toEMU(200), Units.toEMU(50));
    //            runInvoice.addBreak();
    //            runInvoice.addBreak();
    //        }

    runInvoice.setText("Delivery Note : ");
    runInvoice.addTab();
    runInvoice.setText(invoiceNote);
    runInvoice.addBreak();
    runInvoice.addBreak();
    runInvoice.addBreak();
    runInvoice.setText("Date : ");
    runInvoice.addTab();
    runInvoice.setText(date);
    runInvoice.addBreak();
    runInvoice.addBreak();
    //document.createParagraph().createRun().addBreak();

    XWPFTable productDetails = document.createTable();
    productDetails.setCellMargins(50, 50, 50, 50);
    //productDetails.getCTTbl().getTblPr().addNewJc().setVal(STJc.RIGHT);
    productDetails.getCTTbl().getTblPr().unsetTblBorders();
    productDetails.getCTTbl().addNewTblPr().addNewTblW().setW(BigInteger.valueOf(11000));

    XWPFTableRow pDetailHeader = productDetails.getRow(0);

    XWPFTableCell header0 = pDetailHeader.getCell(0);
    header0.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(1000));
    XWPFParagraph headerText = header0.addParagraph();
    XWPFRun run = headerText.createRun();
    run.setText("Sl. No.");
    run.setBold(true);
    ctTc = header0.getCTTc();
    tcPr = ctTc.addNewTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    border.addNewRight().setVal(STBorder.SINGLE);
    border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    XWPFTableCell header1 = pDetailHeader.createCell();
    header1.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(8000));
    XWPFParagraph headerText1 = header1.addParagraph();
    XWPFRun run1 = headerText1.createRun();
    run1.setText("Description of Goods");
    run1.setBold(true);
    ctTc = header1.getCTTc();
    tcPr = ctTc.addNewTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    border.addNewRight().setVal(STBorder.SINGLE);
    border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    XWPFTableCell header4 = pDetailHeader.createCell();
    header4.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000));
    XWPFParagraph headerText4 = header4.addParagraph();
    XWPFRun run4 = headerText4.createRun();
    run4.setText("Quantity");
    run4.setBold(true);
    ctTc = header4.getCTTc();
    tcPr = ctTc.addNewTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    border.addNewRight().setVal(STBorder.SINGLE);
    border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    for (int i = 0; i < 1; i++) {
        XWPFTableRow fTableRow = productDetails.createRow();
        for (int j = 0; j < 4; j++) {
            XWPFTableCell cell = fTableRow.getCell(j);
            try {
                ctTc = cell.getCTTc();
                tcPr = ctTc.addNewTcPr();
                border = tcPr.addNewTcBorders();
                //border.addNewBottom().setVal(STBorder.SINGLE);
                border.addNewRight().setVal(STBorder.SINGLE);
                border.addNewLeft().setVal(STBorder.SINGLE);
                if (i == 0)
                    border.addNewTop().setVal(STBorder.SINGLE);
            } catch (Exception e) {
                System.err.println(e.getMessage());
            }

            switch (j) {
            case 0:
                cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(1000));
                break;
            case 1:
                cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(8000));
                break;
            case 2:
                cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000));
                break;

            }

        }
    }

    int qty = 0;

    for (int i = 0; i < table.getRowCount(); i++) {
        XWPFTableRow fTableRow = productDetails.createRow();
        for (int j = 0; j < table.getColumnCount() - 1; j++) {
            XWPFTableCell cell = fTableRow.getCell(j);
            try {
                ctTc = cell.getCTTc();
                tcPr = ctTc.addNewTcPr();
                border = tcPr.addNewTcBorders();
                if (i == table.getRowCount() - 1)
                    border.addNewBottom().setVal(STBorder.SINGLE);
                border.addNewRight().setVal(STBorder.SINGLE);
                border.addNewLeft().setVal(STBorder.SINGLE);
                //                    border.addNewTop().setVal(STBorder.SINGLE); 
            } catch (Exception e) {
                System.err.println(e.getMessage());
            }

            switch (j) {
            case 0:
                cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(1000));
                cell.setText(String.valueOf(dtm.getValueAt(i, j)));
                break;
            case 1:
                cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(8000));
                cell.setText(String.valueOf(dtm.getValueAt(i, j)));
                break;
            case 2:
                cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000));
                cell.setText(String.valueOf(dtm.getValueAt(i, j)));
                qty += Integer.parseInt(String.valueOf(dtm.getValueAt(i, j)));
                break;

            }

        }
    }

    XWPFTableRow finalRow = productDetails.createRow();
    XWPFTableCell fc0 = finalRow.getCell(0);
    fc0.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(1000));

    XWPFTableCell fc3 = finalRow.getCell(1);
    fc3.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(8000));
    XWPFParagraph fp1 = fc3.addParagraph();
    XWPFRun fRun1 = fp1.createRun();
    fRun1.setBold(true);
    fRun1.setText("TOTAL");

    XWPFTableCell fc4 = finalRow.getCell(2);
    fc4.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(2000));
    XWPFParagraph fp2 = fc4.addParagraph();
    XWPFRun fRun2 = fp2.createRun();
    fRun2.setBold(true);
    fRun2.setText(String.valueOf(qty));

    ctTc = fc0.getCTTc();
    tcPr = ctTc.getTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    //border.addNewRight().setVal(STBorder.SINGLE);
    border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    ctTc = fc3.getCTTc();
    tcPr = ctTc.getTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    border.addNewRight().setVal(STBorder.SINGLE);
    //border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    ctTc = fc4.getCTTc();
    tcPr = ctTc.getTcPr();
    border = tcPr.addNewTcBorders();
    border.addNewBottom().setVal(STBorder.SINGLE);
    border.addNewRight().setVal(STBorder.SINGLE);
    border.addNewLeft().setVal(STBorder.SINGLE);
    border.addNewTop().setVal(STBorder.SINGLE);

    XWPFParagraph netPMethod = document.createParagraph();
    XWPFRun pMethodRun = netPMethod.createRun();
    pMethodRun.addBreak();
    pMethodRun.addBreak();
    pMethodRun.setItalic(true);
    pMethodRun.setFontSize(10);
    pMethodRun.setText("NB. - Goods sold to the above buyer is in " + paymentType + ".");

    try {

        File f = new File(filePath);
        if (!f.exists()) {
            f.mkdir();
        }
        FileOutputStream outputStream = new FileOutputStream(filePath + File.separator + "Challan"
                + invoiceNote.replace("/", "_") + copyType.replace("/", "_") + ".docx");
        document.write(outputStream);
        outputStream.close();
        new InvoiceNoteManager().setProperty();
        if (printCommand)
            printDocument();
    } catch (Exception e) {
        System.err.println(e.getMessage());
    }

    return true;
}

From source file:cn.afterturn.easypoi.word.parse.excel.ExcelEntityParse.java

License:Apache License

/**
 * word?/*from  w ww  .  j av a 2s .co m*/
 *
 * @param row
 * @param value
 */
private void setWordText(XWPFTableRow row, Object value) {
    XWPFTableCell cell = row.createCell();
    List<XWPFParagraph> paragraphs = cell.getParagraphs();
    XWPFParagraph paragraph = null;
    XWPFRun run = null;
    if (paragraphs != null && paragraphs.size() > 0) {
        paragraph = paragraphs.get(0);
    } else {
        paragraph = row.createCell().addParagraph();
    }
    List<XWPFRun> runs = paragraph.getRuns();
    if (runs != null && runs.size() > 0) {
        run = runs.get(0);
    } else {
        run = paragraph.createRun();
    }
    if (value instanceof ImageEntity) {
        ExcelMapParse.addAnImage((ImageEntity) value, run);
    } else {
        PoiPublicUtil.setWordText(run, value == null ? "" : value.toString());
    }
}

From source file:cn.afterturn.easypoi.word.parse.excel.ExcelMapParse.java

License:Apache License

/**
 * ?,?/*w  ww .j  a v a2s. c  o m*/
 * @param table
 * @param index
 * @param list
 */
public static void parseNextRowAndAddRow(XWPFTable table, int index, List<Object> list) throws Exception {
    XWPFTableRow currentRow = table.getRow(index);
    String[] params = parseCurrentRowGetParams(currentRow);
    String listname = params[0];
    boolean isCreate = !listname.contains(FOREACH_NOT_CREATE);
    listname = listname.replace(FOREACH_NOT_CREATE, EMPTY).replace(FOREACH_AND_SHIFT, EMPTY)
            .replace(FOREACH, EMPTY).replace(START_STR, EMPTY);
    String[] keys = listname.replaceAll("\\s{1,}", " ").trim().split(" ");
    params[0] = keys[1];
    //??-??
    List<XWPFTableCell> tempCellList = new ArrayList<XWPFTableCell>();
    tempCellList.addAll(table.getRow(index).getTableCells());
    int cellIndex = 0;
    Map<String, Object> tempMap = Maps.newHashMap();
    LOGGER.debug("start for each data list :{}", list.size());
    for (Object obj : list) {
        currentRow = isCreate ? table.insertNewTableRow(index++) : table.getRow(index++);
        tempMap.put("t", obj);
        for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); cellIndex++) {
            String val = eval(params[cellIndex], tempMap).toString();
            currentRow.getTableCells().get(cellIndex).setText("");
            PoiWordStyleUtil.copyCellAndSetValue(tempCellList.get(cellIndex),
                    currentRow.getTableCells().get(cellIndex), val);
        }

        for (; cellIndex < params.length; cellIndex++) {
            String val = eval(params[cellIndex], tempMap).toString();
            PoiWordStyleUtil.copyCellAndSetValue(tempCellList.get(cellIndex), currentRow.createCell(), val);
        }
    }
    table.removeRow(index);

}

From source file:cn.wantedonline.porobot.DataBaseEntity.java

License:Apache License

private static void genDBDictionary(List<DBTableBean> tableBeans) throws IOException {
    XWPFDocument doc = new XWPFDocument();
    String databaseName = "default_database";
    for (DBTableBean bean : tableBeans) {
        databaseName = bean.getDatabaseName();
        XWPFParagraph p0 = doc.createParagraph();
        p0.setAlignment(ParagraphAlignment.CENTER);
        XWPFRun r0 = p0.createRun();/*w  ww. j av  a2s. c  om*/
        r0.setBold(true);
        r0.setText(databaseName);
        r0.setFontSize(16);
        XWPFParagraph p1 = doc.createParagraph();
        p1.setAlignment(ParagraphAlignment.LEFT);
        XWPFRun r1 = p1.createRun();
        r1.setBold(true);
        r1.setText("Table:" + bean.getTableName());
        XWPFTable table = doc.createTable();
        int pos = 0;
        XWPFTableRow row1 = table.insertNewTableRow(pos++);
        XWPFTableCell cell1 = row1.createCell();
        cell1.setText("Field");
        cell1.setColor("FFE4C4");
        XWPFTableCell cell2 = row1.createCell();
        cell2.setText("Type");
        cell2.setColor("FFE4C4");
        XWPFTableCell cell3 = row1.createCell();
        cell3.setText("Comment");
        cell3.setColor("FFE4C4");
        for (int i = 0; i < bean.getColumnSize(); i++) {
            XWPFTableRow row = table.insertNewTableRow(pos++);
            XWPFTableCell cell11 = row.createCell();
            cell11.setText(bean.getColumnName(i));
            XWPFTableCell cell22 = row.createCell();
            cell22.setText(bean.getColumnType(i));
            XWPFTableCell cell33 = row.createCell();
            cell33.setText(bean.getColumnComment(i));
        }
        table.removeRow(pos);
        XWPFParagraph p2 = doc.createParagraph();
        XWPFRun r2 = p2.createRun();
        r2.addBreak();
    }

    FileOutputStream out = new FileOutputStream(databaseName + ".docx");
    doc.write(out);
    out.close();
    doc.close();

}

From source file:com.foc.vaadin.gui.mswordGenerator.FocMSWordHorizontalLayout.java

License:Apache License

@Override
public void write(IMSWordContainer container) {
    XWPFDocument wordDocument = getWordDocument();
    if (wordDocument != null) {
        XWPFTable newTable = container.insertTable();
        applyBorderAttribute(newTable);//  w  w  w.  j  a va 2 s  . c o m

        XWPFTableRow tableRow = newTable.getRow(0);

        for (int rowIndex = 0; rowIndex < getComponentNumber(); rowIndex++) {
            XWPFTableCell newCell = rowIndex == 0 ? tableRow.getCell(0) : tableRow.createCell();

            MSWordWrapper wrapper = new MSWordWrapper(wordDocument, newCell);
            FocMSWordComponent component = getComponentAt(rowIndex);
            if (component != null) {
                component.write(wrapper);
            }
        }
    }
}

From source file:com.qihang.winter.poi.word.parse.excel.ExcelEntityParse.java

License:Apache License

private void setCellValue(XWPFTableRow row, Object value, int cellNum) {
    if (row.getCell(cellNum++) != null) {
        row.getCell(cellNum - 1).setText(value == null ? "" : value.toString());
    } else {//from w w w. j ava 2 s.  c o  m
        row.createCell().setText(value == null ? "" : value.toString());
    }
}

From source file:com.qihang.winter.poi.word.parse.excel.ExcelMapParse.java

License:Apache License

/**
 * ?,?/*from w w w  . j  a va 2  s. com*/
 * 
 * @author Zerrion
 * @date 2013-11-18
 * @param table
 * @param listobj2
 */
public static void parseNextRowAndAddRow(XWPFTable table, int index, List<Object> list) throws Exception {
    XWPFTableRow currentRow = table.getRow(index);
    String[] params = parseCurrentRowGetParams(currentRow);
    table.removeRow(index);// 
    int cellIndex = 0;// ??cell
    for (Object obj : list) {
        currentRow = table.createRow();
        for (cellIndex = 0; cellIndex < currentRow.getTableCells().size(); cellIndex++) {
            currentRow.getTableCells().get(cellIndex)
                    .setText(PoiPublicUtil.getValueDoWhile(obj, params[cellIndex].split("\\."), 0).toString());
        }
        for (; cellIndex < params.length; cellIndex++) {
            currentRow.createCell()
                    .setText(PoiPublicUtil.getValueDoWhile(obj, params[cellIndex].split("\\."), 0).toString());
        }
    }

}

From source file:offishell.word.WordHeleper.java

License:MIT License

/**
 * <p>/*from  w  ww  . ja v a 2  s .c  o  m*/
 * Helper method to clone {@link XWPFTableRow}.
 * </p>
 * 
 * @param in
 * @param out
 * @param converter
 */
public static void copy(XWPFTableRow in, XWPFTableRow out, UnaryOperator<String> converter) {
    // copy context
    CTRow outCT = out.getCtRow();
    CTTrPr outPR = outCT.isSetTrPr() ? outCT.getTrPr() : outCT.addNewTrPr();
    outPR.set(in.getCtRow().getTrPr());

    // copy children
    for (XWPFTableCell inCell : in.getTableCells()) {
        copy(inCell, out.createCell(), converter);
    }
}

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;
        if (headerIndex == 0) {
            tableRowHeader = table.getRow(0);
        } else {/* ww w .j  a  v  a2 s.co  m*/
            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:org.obeonetwork.m2doc.generator.M2DocEvaluator.java

License:Open Source License

/**
 * Fill a newly created word table with the data from an MTable.
 * /*w  w w . j a v  a 2  s.co m*/
 * @param table
 *            The newly created word table
 * @param mtable
 *            The MTable that describes the data and styles to insert
 */
private void fillTable(XWPFTable table, MTable mtable) {
    List<MRow> rows = mtable.getRows();
    // Iterate over the rows
    for (int rowIdx = 0; rowIdx < rows.size(); rowIdx++) {
        MRow mRow = rows.get(rowIdx);

        // Get or create XWPF row
        XWPFTableRow xwpfRow;
        if (table.getNumberOfRows() > rowIdx) {
            xwpfRow = table.getRow(rowIdx);
        } else {
            xwpfRow = table.createRow();
        }

        // Iterate over the columns
        for (int colIdx = 0; colIdx < mtable.getColumnsCount(); colIdx++) {
            // Get or create XWPF cell
            XWPFTableCell xwpfCell;
            if (xwpfRow.getTableCells().size() > colIdx) {
                xwpfCell = xwpfRow.getCell(colIdx);
            } else {
                xwpfCell = xwpfRow.createCell();
            }

            // Populate cell
            XWPFParagraph xwpfCellParagraph = xwpfCell.getParagraphs().get(0);
            xwpfCellParagraph.setSpacingBefore(0);
            xwpfCellParagraph.setSpacingAfter(0);
            MCell mCell = null;
            if (colIdx < mRow.getCells().size()) {
                mCell = mRow.getCells().get(colIdx);
            }
            setCellContent(xwpfCell, mCell);
        }
    }
}