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

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

Introduction

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

Prototype

public List<XWPFTableCell> getTableCells() 

Source Link

Document

create and return a list of all XWPFTableCell who belongs to this row

Usage

From source file:biz.webgate.dominoext.poi.component.kernel.DocumentProcessor.java

License:Apache License

private void processBookmarks2Table(List<IDocumentBookmark> arrBookmarks, XWPFTable tabCurrent) {
    for (XWPFTableRow tabRow : tabCurrent.getRows()) {
        for (XWPFTableCell tabCell : tabRow.getTableCells()) {
            for (XWPFParagraph paraCurrent : tabCell.getParagraphs()) {
                processBookmarks2Paragraph(arrBookmarks, paraCurrent);
            }/*from w ww .  j  a v  a 2 s.  co m*/
        }
    }
}

From source file:br.com.techne.gluonsoft.eowexport.builder.WordBuilder.java

License:Apache License

/**
 * adiciona linha  tabela/*from  w ww .jav a  2  s.com*/
 * @param rows
 * @param data
 * @param indexRow
 * @param vcutil
 * @param columnIndex
 */
private static void addRow(List<XWPFTableRow> rows, HashMap<String, Object> data, int indexRow,
        ValueCellUtil vcutil, String[] columnIndex) {
    //adicionando titulo
    XWPFTableRow row = rows.get(indexRow);
    // get table row properties (trPr)
    CTTrPr trPr = row.getCtRow().addNewTrPr();
    // set row height; units = twentieth of a point, 360 = 0.25"
    CTHeight ht = trPr.addNewTrHeight();
    ht.setVal(BigInteger.valueOf(360));
    // get the cells in this row
    List<XWPFTableCell> cells = row.getTableCells();

    List<String> keysAttribs = null;
    if (columnIndex.length == 0) {
        keysAttribs = Arrays.asList(data.keySet().toArray(new String[0]));
        Collections.reverse(keysAttribs);
    } else {
        keysAttribs = Arrays.asList(columnIndex);
    }

    //List<String> keysAttribs = Arrays.asList(data.keySet().toArray(new String[0]));
    //Collections.reverse(keysAttribs);
    int colCt = 0;//counter cells

    // add content to each cell
    for (XWPFTableCell cell : cells) {
        // get a table cell properties element (tcPr)
        CTTcPr tcpr = cell.getCTTc().addNewTcPr();
        // set vertical alignment to "center"
        CTVerticalJc va = tcpr.addNewVAlign();
        va.setVal(STVerticalJc.CENTER);

        // create cell color element
        CTShd ctshd = tcpr.addNewShd();
        ctshd.setColor("auto");
        ctshd.setVal(STShd.CLEAR);

        //zebrando tabela
        if (indexRow % 2 == 0) {
            // even row
            ctshd.setFill("D3DFEE");
        } else {
            // odd row
            ctshd.setFill("EDF2F8");
        }

        // get 1st paragraph in cell's paragraph list
        XWPFParagraph para = cell.getParagraphs().get(0);
        // create a run to contain the content
        XWPFRun rh = para.createRun();

        if (data.get(keysAttribs.get(colCt)) == null) {
            data.put(keysAttribs.get(colCt), "");
        } else {
            // other rows
            rh.setText(vcutil.parseValue(data.get(keysAttribs.get(colCt))).toString());
            para.setAlignment(ParagraphAlignment.LEFT);
        }

        colCt++;
    } // for cell
}

From source file:br.com.techne.gluonsoft.eowexport.builder.WordBuilder.java

License:Apache License

/**
 * adiciona titulo//from  w w  w .j a va  2s  .  c o m
 * @param rows
 * @param titles
 */
private static void addTitle(List<XWPFTableRow> rows, String[] titles) {
    //adicionando titulo
    XWPFTableRow row = rows.get(0);
    // get table row properties (trPr)
    CTTrPr trPr = row.getCtRow().addNewTrPr();
    // set row height; units = twentieth of a point, 360 = 0.25"
    CTHeight ht = trPr.addNewTrHeight();
    ht.setVal(BigInteger.valueOf(360));
    // get the cells in this row
    List<XWPFTableCell> cells = row.getTableCells();
    int colCt = 0;

    //CTTblWidth tblWidth = CTTblWidth.Factory.newInstance();
    //tblWidth.setW(BigInteger.valueOf(200));
    //tblWidth.setType(STTblWidth.DXA);

    // add content to each cell
    for (XWPFTableCell cell : cells) {
        // get a table cell properties element (tcPr)
        CTTcPr tcpr = cell.getCTTc().addNewTcPr();
        //tcpr.setTcW(tblWidth);

        // set vertical alignment to "center"
        CTVerticalJc va = tcpr.addNewVAlign();
        va.setVal(STVerticalJc.CENTER);

        // create cell color element
        CTShd ctshd = tcpr.addNewShd();
        ctshd.setColor("auto");
        ctshd.setVal(STShd.CLEAR);
        // header row
        ctshd.setFill("A7BFDE");
        // get 1st paragraph in cell's paragraph list
        XWPFParagraph para = cell.getParagraphs().get(0);
        // create a run to contain the content
        XWPFRun rh = para.createRun();

        // header row
        if ((titles.length - 1) < colCt) {
            rh.setText("");
        } else
            rh.setText(titles[colCt]);

        rh.setBold(true);
        para.setAlignment(ParagraphAlignment.CENTER);

        colCt++;
    } // for cell
}

From source file:ch.admin.isb.hermes5.business.word.Docx4jWordDocumentCustomizerTest.java

License:Apache License

private Map<String, String> getTableMap(byte[] result) throws IOException {
    Map<String, String> map = new HashMap<String, String>();
    XWPFDocument document = new XWPFDocument(new ByteArrayInputStream(result));
    List<XWPFTable> tables = new ArrayList<XWPFTable>();
    tables.addAll(document.getTables());
    List<XWPFHeader> headers = document.getHeaderList();
    for (XWPFHeader header : headers) {
        tables.addAll(header.getTables());
    }//from w  ww  .  j  av  a  2s  . c  om
    for (XWPFTable xwpfTable : tables) {
        List<XWPFTableRow> rows = xwpfTable.getRows();
        for (XWPFTableRow xwpfTableRow : rows) {
            List<XWPFTableCell> tableCells = xwpfTableRow.getTableCells();
            if (tableCells.size() == 2) {
                map.put(tableCells.get(0).getText(), tableCells.get(1).getText());
            }
            if (tableCells.size() == 1) {
                map.put(tableCells.get(0).getText(), "");
            }
        }
    }

    return map;
}

From source file:ch.admin.searchreplace.SearchReplaceTerms.java

License:Apache License

/**
 * Ersetzt eine Liste von Ausdruecken in einer Datei und schreibt das Resultat nach Output
 * @param input Inputdatei/*from  ww  w  .j av a2 s.c  om*/
 * @param output Outputdatei
 * @param srTerms Begriff
 * @throws IOException I/O Fehler
 * @throws InvalidFormatException OpenXML Document korrupt
 * @throws FileNotFoundException Datei nicht vorhanden
 */
private static void searchReplaceInFile(String input, String output, HashMap<String, String> srTerms)
        throws IOException, InvalidFormatException, FileNotFoundException {
    XWPFDocument doc = new XWPFDocument(OPCPackage.open(input));

    // Header
    List<XWPFHeader> header = doc.getHeaderList();
    for (Iterator<XWPFHeader> e = header.iterator(); e.hasNext();) {
        XWPFHeader h = e.next();
        for (XWPFParagraph p : h.getParagraphs()) {
            XWPFRun r = consolidateRuns(p);
            if (r != null)
                searchReplace(srTerms, r);
        }
        for (XWPFTable tbl : h.getTables())
            for (XWPFTableRow row : tbl.getRows())
                for (XWPFTableCell cell : row.getTableCells())
                    for (XWPFParagraph p : cell.getParagraphs()) {
                        XWPFRun r = consolidateRuns(p);
                        if (r != null)
                            searchReplace(srTerms, r);
                    }
    }

    // Document
    for (XWPFParagraph p : doc.getParagraphs()) {
        XWPFRun r = consolidateRuns(p);
        if (r != null)
            searchReplace(srTerms, r);
    }
    for (XWPFTable tbl : doc.getTables())
        for (XWPFTableRow row : tbl.getRows())
            for (XWPFTableCell cell : row.getTableCells())
                for (XWPFParagraph p : cell.getParagraphs()) {
                    XWPFRun r = consolidateRuns(p);
                    if (r != null)
                        searchReplace(srTerms, r);
                }

    doc.write(new FileOutputStream(output));
}

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

License:Apache License

/**
 * ??,??//w w  w  . ja v  a  2  s.co m
 *
 * @author JueYue
 *  2013-11-18
 * @param currentRow
 * @return
 */
private static String[] parseCurrentRowGetParams(XWPFTableRow currentRow) {
    List<XWPFTableCell> cells = currentRow.getTableCells();
    String[] params = new String[cells.size()];
    String text;
    for (int i = 0; i < cells.size(); i++) {
        text = cells.get(i).getText();
        params[i] = text == null ? "" : text.trim().replace(START_STR, EMPTY).replace(END_STR, EMPTY);
    }
    return params;
}

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

License:Apache License

/**
 * ?,?//from w  w  w  .  j  a  v a 2  s .co 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.afterturn.easypoi.word.parse.ParseWord07.java

License:Apache License

/**
 * ?/* w  w  w .  ja  v a  2s  . c o  m*/
 *
 * @param table
 * @param map
 * @author JueYue
 * 2013-11-17
 */
private void parseThisTable(XWPFTable table, Map<String, Object> map) throws Exception {
    XWPFTableRow row;
    List<XWPFTableCell> cells;
    Object listobj;
    for (int i = 0; i < table.getNumberOfRows(); i++) {
        row = table.getRow(i);
        cells = row.getTableCells();
        listobj = checkThisTableIsNeedIterator(cells.get(0), map);
        if (listobj == null) {
            parseThisRow(cells, map);
        } else if (listobj instanceof ExcelListEntity) {
            new ExcelEntityParse().parseNextRowAndAddRow(table, i, (ExcelListEntity) listobj);
            i = i + ((ExcelListEntity) listobj).getList().size() - 1;//??,?
        } else {
            ExcelMapParse.parseNextRowAndAddRow(table, i, (List) listobj);
            i = i + ((List) listobj).size() - 1;//??,?
        }
    }
}

From source file:com.anphat.customer.controller.ExportContractToDocController.java

public void buildContractDetails(CustomerDTO customerDTO) {
    for (XWPFTable tbl : lstTable) {
        for (XWPFTableRow rowTbl : tbl.getRows()) {
            for (XWPFTableCell cellTbl : rowTbl.getTableCells()) {
                for (XWPFParagraph p : cellTbl.getParagraphs()) {
                    for (XWPFRun r : p.getRuns()) {
                        String text = r.getText(0);
                        //                            //Thoi gian
                        //                            if (text != null && DataUtil.isStringContainDateTime(text)) {
                        //                                text = DataUtil.replaceDateTime(text);
                        //                                r.setText(text, 0);
                        //                            }
                        //Ben giao
                        if (text != null && text.contains(Constants.REPORT.NAME)) {
                            text = text.replace(Constants.REPORT.NAME,
                                    DataUtil.getStringNullOrZero(customerDTO.getName().toUpperCase()));
                            r.setText(text, 0);
                        }/*from  w w  w . j a  v a2 s . co m*/
                        //Ma so thue
                        if (text != null && text.contains(Constants.REPORT.TAX_CODE)) {
                            text = text.replace(Constants.REPORT.TAX_CODE,
                                    DataUtil.getStringNullOrZero(customerDTO.getTaxCode()));
                            r.setText(text, 0);
                        }
                        //So dien thoai
                        if (text != null && text.contains(Constants.REPORT.TEL_NUMBER)) {
                            text = text.replace(Constants.REPORT.TEL_NUMBER,
                                    DataUtil.getStringNullOrZero(mapValues.get(Constants.REPORT.TEL_NUMBER)));
                            r.setText(text, 0);
                        }
                        //Fax
                        if (text != null && text.contains(Constants.REPORT.FAX)) {
                            text = text.replace(Constants.REPORT.FAX,
                                    DataUtil.getStringNullOrZero(mapValues.get(Constants.REPORT.FAX)));
                            r.setText(text, 0);
                        }
                        //Email
                        if (text != null && text.contains(Constants.REPORT.EMAIL)) {
                            text = text.replace(Constants.REPORT.EMAIL,
                                    DataUtil.getStringNullOrZero(mapValues.get(Constants.REPORT.EMAIL)));
                            r.setText(text, 0);
                        }
                        //Dia chi tru so
                        if (text != null && text.contains(Constants.REPORT.OFFICE_ADDRESS)) {
                            text = text.replace(Constants.REPORT.OFFICE_ADDRESS, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.OFFICE_ADDRESS)));
                            r.setText(text, 0);
                        }
                        //Dia chi giao dich
                        if (text != null && text.contains(Constants.REPORT.DEPLOY_ADDRESS)) {
                            text = text.replace(Constants.REPORT.DEPLOY_ADDRESS, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.DEPLOY_ADDRESS)));
                            r.setText(text, 0);
                        }
                        //Co quan thue
                        if (text != null && text.contains(Constants.REPORT.TAX_DEPARTMENT)) {
                            text = text.replace(Constants.REPORT.TAX_DEPARTMENT, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.TAX_DEPARTMENT)));
                            r.setText(text, 0);
                        }
                        //CMND
                        if (text != null && text.contains(Constants.REPORT.CMND)) {
                            text = text.replace(Constants.REPORT.CMND,
                                    DataUtil.getStringNullOrZero(mapValues.get(Constants.REPORT.CMND)));
                            r.setText(text, 0);
                        }
                        //CMND
                        if (text != null && text.contains(Constants.REPORT.NGAY_CAP_CMND)) {
                            text = text.replace(Constants.REPORT.NGAY_CAP_CMND, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.NGAY_CAP_CMND)));
                            r.setText(text, 0);
                        }
                        //Nguoi dai dien
                        if (text != null && text.contains(Constants.REPORT.NGUOI_DAIDIEN)) {
                            text = text.replace(Constants.REPORT.NGUOI_DAIDIEN, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.NGUOI_DAIDIEN)));
                            r.setText(text, 0);
                        }
                        //Chuc vu Nguoi dai dien
                        if (text != null && text.contains(Constants.REPORT.CHUVU_NGUOI_DAIDIEN)) {
                            text = text.replace(Constants.REPORT.CHUVU_NGUOI_DAIDIEN, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.CHUVU_NGUOI_DAIDIEN)));
                            r.setText(text, 0);
                        }
                        //SDT Nguoi dai dien
                        if (text != null && text.contains(Constants.REPORT.SDT_NGUOI_DAIDIEN)) {
                            text = text.replace(Constants.REPORT.SDT_NGUOI_DAIDIEN, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.SDT_NGUOI_DAIDIEN)));
                            r.setText(text, 0);
                        }
                        //Email Nguoi dai dien
                        if (text != null && text.contains(Constants.REPORT.EMAIL_NGUOI_DAIDIEN)) {
                            text = text.replace(Constants.REPORT.EMAIL_NGUOI_DAIDIEN, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.EMAIL_NGUOI_DAIDIEN)));
                            r.setText(text, 0);
                        }
                        //Nguoi dai dien
                        if (text != null && text.contains(Constants.REPORT.NGUOI_LIENHE)) {
                            text = text.replace(Constants.REPORT.NGUOI_LIENHE,
                                    DataUtil.getStringNullOrZero(mapValues.get(Constants.REPORT.NGUOI_LIENHE)));
                            r.setText(text, 0);
                        }
                        //Chuc vu Nguoi lien he
                        if (text != null && text.contains(Constants.REPORT.CHUCVU_NGUOI_LIENHE)) {
                            text = text.replace(Constants.REPORT.CHUCVU_NGUOI_LIENHE, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.CHUCVU_NGUOI_LIENHE)));
                            r.setText(text, 0);
                        }
                        //SDT Nguoi lien he
                        if (text != null && text.contains(Constants.REPORT.SDT_NGUOI_LIENHE)) {
                            text = text.replace(Constants.REPORT.SDT_NGUOI_LIENHE, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.SDT_NGUOI_LIENHE)));
                            r.setText(text, 0);
                        }
                        //Email Nguoi lien he
                        if (text != null && text.contains(Constants.REPORT.EMAIL_NGUOI_LIENHE)) {
                            text = text.replace(Constants.REPORT.EMAIL_NGUOI_LIENHE, DataUtil
                                    .getStringNullOrZero(mapValues.get(Constants.REPORT.EMAIL_NGUOI_LIENHE)));
                            r.setText(text, 0);
                        }
                    }
                }
            }
        }
    }
}

From source file:com.deepoove.poi.resolver.TemplateResolver.java

License:Apache License

public static List<ElementTemplate> parseTable(XWPFTable table) {
    if (null == table)
        return null;
    List<ElementTemplate> rts = new ArrayList<ElementTemplate>();
    List<XWPFTableRow> rows = table.getRows();
    if (null != rows) {
        for (XWPFTableRow row : rows) {
            List<XWPFTableCell> cells = row.getTableCells();
            if (null != cells) {
                for (XWPFTableCell cell : cells) {
                    // cell?
                    // CellTemplate parseCell = parseCell(cell);
                    // if (null != parseCell) {
                    // rts.add(parseCell);
                    // } else {
                    rts.addAll(parseParagraph(cell.getParagraphs()));
                    rts.addAll(parseTable(cell.getTables()));
                }//from   w  ww.  ja v a  2  s .c om
            }
        }
    }
    return rts;
}