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(int rows, int cols) 

Source Link

Document

Create an empty table with a number of rows and cols specified

Usage

From source file:de.knowwe.include.export.TableExporter.java

License:Open Source License

@Override
public void export(Section<WikiTable> section, DocumentBuilder manager) throws ExportException {
    // initialize table for easier access
    Matrix<Section<TableCell>> matrix = toMatrix(section);

    // create table with correct dimension
    XWPFDocument doc = manager.getDocument();
    XWPFTable table = doc.createTable(matrix.getRowSize(), matrix.getColSize());
    boolean headerCellsOnly = true;

    for (int row = 0; row < matrix.getRowSize(); row++) {
        XWPFTableRow tableRow = table.getRow(row);
        for (int col = 0; col < matrix.getColSize(); col++) {
            Section<TableCell> cell = matrix.get(row, col);
            boolean isHeader = cell.get().isHeader(cell);
            boolean isZebra = row % 2 == 0;
            headerCellsOnly &= isHeader;

            // prepare cell shading
            XWPFTableCell tableCell = tableRow.getCell(col);
            CTShd shade = tableCell.getCTTc().addNewTcPr().addNewShd();
            if (isHeader) {
                shade.setFill("D0D0D0");
                tableCell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
            } else if (isZebra) {
                shade.setFill("F2F2F2");
            }//from   ww  w . ja va  2 s . com

            // fill cell contents
            DocumentBuilder cellBuilder = new CellBuilder(manager, tableCell, isHeader);
            Section<?> content = Sections.successor(cell, ParagraphTypeForLists.class);
            if (content != null) {
                cellBuilder.export(content);
            }

            // clean trailing white-spaces of each cell
            List<CTR> runs = cellBuilder.getParagraph().getCTP().getRList();
            if (runs.isEmpty())
                continue;
            CTR ctr = runs.get(runs.size() - 1);
            List<CTText> texts = ctr.getTList();
            if (texts.isEmpty())
                continue;
            CTText ctText = texts.get(texts.size() - 1);
            ctText.setStringValue(Strings.trimRight(ctText.getStringValue()));
        }
        // check if the first row(s) have only headers,
        // repeat those headers until a non-header cell has come
        if (headerCellsOnly) {
            tableRow.setRepeatHeader(true);
        }
        tableRow.setCantSplitRow(true);
    }

    // append empty line after each table
    manager.closeParagraph();
    manager.append("\n\r");
    manager.closeParagraph();
}

From source file:eremeykin.pete.reports.ui.ReportAction.java

@Override
public void actionPerformed(ActionEvent e) {
    resultChanged(null);/*from   w  w  w . j  a  v a  2  s . c om*/
    if (model == null) {
        return;
    }

    XWPFDocument doc = new XWPFDocument();

    XWPFParagraph p1 = doc.createParagraph();
    p1.setAlignment(ParagraphAlignment.CENTER);
    p1.setVerticalAlignment(TextAlignment.TOP);

    XWPFRun r1 = p1.createRun();
    r1.setBold(true);
    r1.setText("");
    r1.setBold(true);
    r1.setFontFamily("Times New Roman");
    r1.setFontSize(24);
    r1.setTextPosition(10);

    XWPFParagraph p2 = doc.createParagraph();
    p2.setAlignment(ParagraphAlignment.LEFT);
    p2.setVerticalAlignment(TextAlignment.CENTER);
    XWPFRun r2 = p2.createRun();
    r2.setText(" ? : ");
    r2.setBold(false);
    r2.setFontFamily("Times New Roman");
    r2.setFontSize(14);
    r2.setTextPosition(10);

    XWPFTable table = doc.createTable(1, 2);
    table.getCTTbl().addNewTblPr().addNewTblW().setW(BigInteger.valueOf(9000));
    ModelParameter root = model.getRoot();

    int row = 1;
    Map.Entry<ModelParameter, Integer> kv = model.getParameterAndLevelByID(root, 0);
    ModelParameter parameter = kv.getKey();
    Integer level = kv.getValue();

    ArrayList<Integer> ids = new ArrayList(model.asMap().keySet());
    Collections.sort(ids);
    for (Integer each : ids) {
        table.createRow();
        String text = "";
        kv = model.getParameterAndLevelByID(root, each);
        parameter = kv.getKey();
        level = kv.getValue();
        for (int c = 0; c < level; c++) {
            text += "        ";
        }
        table.getRow(row - 1).getCell(0).setText(text + parameter.toString());
        table.getRow(row - 1).getCell(1).setText(parameter.getValue());
        row++;
    }
    table.setWidth(80);

    XWPFParagraph p3 = doc.createParagraph();
    p3.setAlignment(ParagraphAlignment.LEFT);
    p3.setVerticalAlignment(TextAlignment.CENTER);
    XWPFRun r3 = p3.createRun();
    r3.addBreak();
    r3.setText("\n : ");
    r3.setBold(false);
    r3.setFontFamily("Times New Roman");
    r3.setFontSize(14);

    File uPlotFile = new File(WorkspaceManager.INSTANCE.getWorkspace().getAbsolutePath() + "/uplot.png");
    try {
        byte[] picbytes = IOUtils.toByteArray(new FileInputStream(uPlotFile));
        doc.addPictureData(picbytes, XWPFDocument.PICTURE_TYPE_PNG);
        XWPFRun pr = doc.createParagraph().createRun();
        pr.addPicture(new FileInputStream(uPlotFile), Document.PICTURE_TYPE_PNG, "plot.png", Units.toEMU(450),
                Units.toEMU(337));
        pr.addCarriageReturn();
        pr.addBreak(BreakType.PAGE);
        pr.addBreak(BreakType.TEXT_WRAPPING);

    } catch (Exception ex) {
        Exceptions.printStackTrace(ex);
    }

    XWPFParagraph p4 = doc.createParagraph();
    p4.setAlignment(ParagraphAlignment.LEFT);
    p4.setVerticalAlignment(TextAlignment.CENTER);
    XWPFRun r4 = p4.createRun();
    r4.addBreak();
    r4.setText("\n ?: ");
    r4.setBold(false);
    r4.setFontFamily("Times New Roman");
    r4.setFontSize(14);

    File sPlotFile = new File(WorkspaceManager.INSTANCE.getWorkspace().getAbsolutePath() + "/splot.png");
    try {
        byte[] picbytes = IOUtils.toByteArray(new FileInputStream(sPlotFile));
        doc.addPictureData(picbytes, XWPFDocument.PICTURE_TYPE_PNG);
        XWPFParagraph pp = doc.createParagraph();
        pp.createRun().addPicture(new FileInputStream(sPlotFile), Document.PICTURE_TYPE_PNG, "plot.png",
                Units.toEMU(450), Units.toEMU(337));
    } catch (Exception ex) {
        Exceptions.printStackTrace(ex);
    }

    File reportFile = new File("report.docx");
    try (FileOutputStream out = new FileOutputStream(reportFile)) {
        doc.write(out);
        if (Desktop.isDesktopSupported()) {
            Desktop.getDesktop().edit(reportFile);
        } else {
        }

    } catch (IOException ex) {
        Exceptions.printStackTrace(ex);
    }
}

From source file:export.TableFunctionalReq.java

protected static void createReqFuncTable(XWPFDocument doc, FunctionalRequirement funcReq) {

    int[] cols = { 2943, 6507 };

    XWPFTable rf = doc.createTable(9, 2);

    // Get a list of the rows in the table
    List<XWPFTableRow> rows = rf.getRows();
    int rowCt = 0;
    int colCt = 0;

    for (XWPFTableRow row : rows) {

        // get the cells in this row
        List<XWPFTableCell> cells = row.getTableCells();
        for (XWPFTableCell cell : cells) {
            // get a table cell properties element (tcPr)
            CTTcPr tcpr = cell.getCTTc().addNewTcPr();

            // create cell color element
            CTShd ctshd = tcpr.addNewShd();

            ctshd.setColor("auto");
            ctshd.setVal(STShd.CLEAR);/*  w w w .ja  v  a2s .c o  m*/

            if (colCt == 0) {
                ctshd.setFill("5C7F92");
            }

            // get 1st paragraph in cell's paragraph list
            XWPFParagraph para = cell.getParagraphs().get(0);
            para.setStyle("AltranNormal");
            para.setSpacingAfter(120);
            para.setSpacingBefore(120);

            // create a run to contain the content
            XWPFRun rh = para.createRun();
            //rh.setFontSize(11);

            rh.setFontFamily("Lucida Sans Unicode");

            if (colCt == 0) {
                rh.setColor("FFFFFF");
            }

            if (rowCt == 0 && colCt == 0) {
                rh.setText("RF " + ((x < 9) ? "0" + x : x) + "- F");
                x++;
            } else if (rowCt == 1 && colCt == 0) {
                rh.setText("Use Case (se disponvel):");
            } else if (rowCt == 2 && colCt == 0) {
                rh.setText("Descrio:");
            } else if (rowCt == 3 && colCt == 0) {
                rh.setText("Fonte:");
            } else if (rowCt == 4 && colCt == 0) {
                rh.setText("Fundamento:");
            } else if (rowCt == 5 && colCt == 0) {
                rh.setText("Critrio de avaliao:");
            } else if (rowCt == 6 && colCt == 0) {
                rh.setText("Satisfao do cliente:");
            } else if (rowCt == 7 && colCt == 0) {
                rh.setText("Insatisfao do cliente:");
            } else if (rowCt == 8 && colCt == 0) {
                rh.setText("Histrico:");
            }

            if (rowCt == 0 && colCt == 1) {// Nome do requisito
                rh.setText(funcReq.getName());
                rh.setBold(true);
            } else if (rowCt == 1 && colCt == 1) { // UseCases
                String testUC = "";
                int cntUC = 0;
                for (UseCase uc : funcReq.getUseCaseCollection()) {

                    if (cntUC == 0) {
                        testUC = uc.getName();
                    } else {
                        testUC = testUC + ", " + uc.getName();
                    }
                    cntUC++;
                }

                rh.setText(testUC);
            } else if (rowCt == 2 && colCt == 1) {// Descrio
                rh.setText(funcReq.getDescription());
            } else if (rowCt == 3 && colCt == 1) {// Fonte
                rh.setText(funcReq.getSource());
            } else if (rowCt == 4 && colCt == 1) {// Fundamento
                rh.setText(funcReq.getReason());
            } else if (rowCt == 5 && colCt == 1) {// Criterio de Avalicao
                rh.setText(funcReq.getAvaliationCriteria());
            } else if (rowCt == 6 && colCt == 1) {// Prioridade
                rh.setText(funcReq.getClientPriority().toString());
            } else if (rowCt == 7 && colCt == 1) {// Insatisfao
                rh.setText(funcReq.getClientInsatisfaction().toString());
            } else if (rowCt == 8 && colCt == 1) {// Historico
                rh.setText("Histrico");
            }

            cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(cols[colCt]));
            colCt++;
        }
        colCt = 0;
        rowCt++;

    }

    doc.createParagraph().createRun().addBreak();

}

From source file:org.goobi.production.flow.helper.SearchResultHelper.java

License:Open Source License

public XWPFDocument getResultAsWord(List<SearchColumn> columnList, String filter, String order,
        boolean showClosedProcesses, boolean showArchivedProjects) {
    @SuppressWarnings("rawtypes")
    List list = search(columnList, filter, order, showClosedProcesses, showArchivedProjects);

    XWPFDocument doc = new XWPFDocument();

    // create header row
    int colNum = columnList.size();
    int rowNum = list.size() + 1;

    XWPFTable table = doc.createTable(rowNum, colNum);
    CTTblWidth width = table.getCTTbl().addNewTblPr().addNewTblW();
    width.setType(STTblWidth.DXA);/*from   w  ww.  j  a  va  2s .  c  o  m*/
    width.setW(BigInteger.valueOf(10000));

    int currentRow = 0;
    int currentCol = 0;
    XWPFTableRow headerRow = table.getRow(currentRow++);
    for (SearchColumn sc : columnList) {
        XWPFTableCell cell = headerRow.getCell(currentCol++);
        cell.setText(Helper.getTranslation(sc.getValue()));
    }

    for (Object obj : list) {
        currentCol = 0;
        Object[] objArr = (Object[]) obj;
        XWPFTableRow row = table.getRow(currentRow++);
        for (Object entry : objArr) {
            XWPFTableCell cell = row.getCell(currentCol++);
            cell.setText((String) entry);
        }
    }

    return doc;
}

From source file:service.GenerationLettres.CreerPiecesManquantes.java

/**
* 
* @param filename - Nom du fichier modle de demande des pices manquantes.
* @param idDossier - Identifiant du dossier pour lequel l est cr
* @throws InvalidFormatException//from ww  w . j  a  va 2  s .co m
* @throws IOException 
*/
public void replacePiecesManquantes(String filename, Formation formation, String sexe, String nom,
        String prenom, String adresse, Adresse adresseEntite, List<Justificatif> justificatifsOk)
        throws InvalidFormatException, IOException {
    List<Justificatif> lesJustificatifs = formation.getLesJustificatifs();

    Date dateActuelle = new Date();
    DateFormat dateForm = new SimpleDateFormat("dd MMMM yyyy", Locale.FRANCE);
    String date = dateForm.format(dateActuelle);
    String codePostal = adresseEntite.getCodePostal();
    String ville = adresseEntite.getVille();
    String civilite = "";
    if (sexe.equals("Masculin"))
        civilite = "Monsieur";
    if (sexe.equals("Feminin"))
        civilite = "Madame";

    String intitule = formation.getIntitule();

    if (justificatifsOk != null) {
        for (Justificatif just : justificatifsOk) {
            lesJustificatifs.remove(just);
        }
    }

    String newFileName = nom + prenom + " Lettre piecesManquantes.docx";

    File file = new File(PATH_MODELS + "/" + filename);
    FileInputStream fis = new FileInputStream(file.getAbsolutePath());
    XWPFDocument doc = new XWPFDocument(fis);
    doc.write(new FileOutputStream(PATH_TARGET + "/" + newFileName));
    doc.close();

    doc = new XWPFDocument(OPCPackage.open(PATH_TARGET + "/" + newFileName));

    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$formation")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$formation", intitule);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement de la formation effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$date")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$date", date);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement de la date effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$civilite")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$civilite", civilite);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement de la civilite effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$prenom")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$prenom", prenom);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement du prenom effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$nom")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$nom", nom);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement du nom effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$adresse")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$adresse", adresse);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement de l'adresse effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$codePostal")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$codePostal", codePostal);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement du code postal effectue");
        }
    }
    for (XWPFParagraph p : doc.getParagraphs()) {
        int numberOfRuns = p.getRuns().size();
        StringBuilder sb = new StringBuilder();
        for (XWPFRun r : p.getRuns()) {
            int pos = r.getTextPosition();
            if (r.getText(pos) != null) {
                sb.append(r.getText(pos));
            }
        }
        if (sb.length() > 0 && sb.toString().contains("$ville")) {
            for (int i = numberOfRuns - 1; i > 0; i--) {
                p.removeRun(i);
            }
            String text = sb.toString().replace("$ville", ville);
            XWPFRun run = p.getRuns().get(0);
            run.setText(text, 0);
            System.out.println("Changement de la ville effectue");
        }
    }

    XWPFTable table = doc.createTable(lesJustificatifs.size(), 2);
    table.setCellMargins(200, 250, 0, 250);
    int i = 0;
    for (XWPFTableRow r : table.getRows()) {
        XWPFTableCell cell = r.getCell(0);
        cell.setText(lesJustificatifs.get(i).getTitre());
        cell = r.getCell(1);
        cell.setText(lesJustificatifs.get(i).getDescription());
        i++;
    }

    doc.write(new FileOutputStream(PATH_TARGET + "/temp.docx"));
    new File(PATH_TARGET + "/temp.docx").delete();
    doc.close();
    //copyTempToFile(filename);
    System.out.println("replaceLettrePiecesManquantes DONE");
}

From source file:sofmeth.mco3.gui.DRLFrame.java

private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed
    // TODO add your handling code here:

    //TODO: need error handling to check if inputs in Fix Time etc are numbers and not letters
    XWPFDocument document = new XWPFDocument();
    try {/*ww  w  .  j  av a 2s  .c o  m*/
        FileOutputStream out = new FileOutputStream(new File("defect recording log.docx"));
        //making of title
        XWPFParagraph para = document.createParagraph();
        para.setAlignment(ParagraphAlignment.CENTER);
        para.setSpacingAfter(500);
        XWPFRun run = para.createRun();
        run.setText("Defect Recording Log");
        run.setBold(true);
        run.setFontSize(16);
        //end making of title
        //adding name etc to document
        XWPFTable details = document.createTable(3, 2);
        //setting cell width
        CTTblWidth width = details.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9500));
        //end setting cell width
        //details.getCTTbl().getTblPr().unsetTblBorders();
        XWPFTableRow dtlRow = details.getRow(0);
        dtlRow.getCell(0).setText("Name: " + nameField);
        dtlRow.getCell(1).setText("Date: " + dateField);
        dtlRow = details.getRow(1);
        dtlRow.getCell(0).setText("Program: " + progField);
        dtlRow.getCell(1).setText("Program#: " + progNumField);
        dtlRow = details.getRow(2);
        dtlRow.getCell(0).setText("Professor: " + profField);
        dtlRow.getCell(1).setText("Language: " + langField);
        //end adding name to document
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();
        XWPFTable table = document.createTable(6, 8);
        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9500));
        for (int i = -1; i < 6; i++) {

            if (i == 5)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 8; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Date");
                        break;
                    case 1:
                        row1.getCell(j).setText("Number");
                        break;
                    case 2:
                        row1.getCell(j).setText("Type");
                        break;
                    case 3:
                        row1.getCell(j).setText("Inject");
                        break;
                    case 4:
                        row1.getCell(j).setText("Remove");
                        break;
                    case 5:
                        row1.getCell(j).setText("Fix Time");
                        break;
                    case 6:
                        row1.getCell(j).setText("Fix Defect");
                        break;
                    case 7:
                        row1.getCell(j).setText("Description");
                        break;
                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                XWPFTableRow row = table.getRow(i + 1);
                for (int j = 0; j < 8; j++) {
                    if (drlTable.getModel().getValueAt(i, 1) != null
                            && !drlTable.getModel().getValueAt(i, j).toString().isEmpty()) {

                        if (drlTable.getModel().getValueAt(i, j) != null
                                && !drlTable.getModel().getValueAt(i, j).toString().isEmpty())

                            row.getCell(j).setText(drlTable.getModel().getValueAt(i, j).toString());
                    } else
                        break;
                }
            }

        }
        document.write(out);

        out.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:sofmeth.mco3.gui.PIPFrame.java

private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed
    // TODO add your handling code here:

    XWPFDocument document = new XWPFDocument();
    try {/*  w w  w .  j a v  a  2s  .  co m*/
        FileOutputStream out = new FileOutputStream(new File("pip form.docx"));
        //start making title
        XWPFParagraph para = document.createParagraph();
        para.setAlignment(ParagraphAlignment.CENTER);
        para.setSpacingAfter(500);
        XWPFRun run = para.createRun();
        run.setText("Process Improvement Proposal(PIP)");
        run.setBold(true);
        run.setFontSize(16);
        //end making title
        //start making name table
        XWPFTable details = document.createTable(2, 2);
        //setting cell width
        CTTblWidth width = details.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        //end setting cell width
        //details.getCTTbl().getTblPr().unsetTblBorders();
        XWPFTableRow row = details.getRow(0);
        row.getCell(0).setText("Name: " + nameField);
        row.getCell(1).setText("Date: " + nameField);
        row = details.getRow(1);
        row.getCell(0).setText("Professor: " + profField);
        row.getCell(1).setText("Program#: " + progNumField);

        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();
        //end making name table
        XWPFTable table = document.createTable(6, 2);
        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        for (int i = -1; i < 6; i++) {

            if (i == 5)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 2; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Number");
                        break;
                    case 1:
                        row1.getCell(j).setText("Problem Description");
                        break;

                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                row = table.getRow(i + 1);
                for (int j = 0; j < 2; j++) {
                    if (probTable.getModel().getValueAt(i, 1) != null
                            && !probTable.getModel().getValueAt(i, j).toString().isEmpty()) {

                        if (probTable.getModel().getValueAt(i, j) != null
                                && !probTable.getModel().getValueAt(i, j).toString().isEmpty())

                            row.getCell(j).setText(probTable.getModel().getValueAt(i, j).toString());
                    } else
                        break;
                }
            }

        }
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();
        XWPFTable table2 = document.createTable(6, 2);
        width = table2.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        for (int i = -1; i < 6; i++) {

            if (i == 5)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table2.getRow(i + 1);
                for (int j = 0; j < 2; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Number");
                        break;
                    case 1:
                        row1.getCell(j).setText("Proposal Description");
                        break;

                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                row = table2.getRow(i + 1);
                for (int j = 0; j < 2; j++) {
                    if (propTable.getModel().getValueAt(i, 1) != null
                            && !propTable.getModel().getValueAt(i, j).toString().isEmpty()) {

                        if (propTable.getModel().getValueAt(i, j) != null
                                && !propTable.getModel().getValueAt(i, j).toString().isEmpty())

                            row.getCell(j).setText(propTable.getModel().getValueAt(i, j).toString());
                    } else
                        break;
                }
            }

        }
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();
        table = document.createTable(2, 1);
        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        row = table.getRow(0);
        row.getCell(0).setText("Notes and Comments");
        row = table.getRow(1);
        row.getCell(0).setText(notesArea.getText());

        document.write(out);

        out.close();

    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:sofmeth.mco3.gui.PPSFrame.java

private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed
    // TODO add your handling code here:
    XWPFDocument document = new XWPFDocument();

    try {/*from   w ww  .j ava2s. c om*/
        FileOutputStream out = new FileOutputStream(new File("PPS " + comboValue + ".docx"));

        //making of title
        XWPFParagraph para = document.createParagraph();
        para.setAlignment(ParagraphAlignment.CENTER);
        para.setSpacingAfter(500);
        XWPFRun run = para.createRun();
        run.setText("Project Plan Summary(" + comboValue + ")");
        run.setBold(true);
        run.setFontSize(16);
        //end making of title
        para = document.createParagraph();
        run = para.createRun();

        //adding name etc to document
        XWPFTable details = document.createTable(3, 2);
        //setting cell width
        CTTblWidth width = details.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        //end setting cell width
        //details.getCTTbl().getTblPr().unsetTblBorders();
        XWPFTableRow row = details.getRow(0);
        row.getCell(0).setText("Name: " + nameField);
        row.getCell(1).setText("Date: " + dateField);
        row = details.getRow(1);
        row.getCell(0).setText("Program: " + progField);
        row.getCell(1).setText("Program#: " + progNumField);
        row = details.getRow(2);
        row.getCell(0).setText("Professor: " + profField);
        row.getCell(1).setText("Language: " + langField);

        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();

        if (comboValue == "4A" || comboValue == "5A") {
            XWPFTable table = document.createTable(7, 4);
            width = table.getCTTbl().addNewTblPr().addNewTblW();
            width.setType(STTblWidth.DXA);
            width.setW(BigInteger.valueOf(9000));

            //poor code ahead!

            row = table.getRow(0);
            for (int i = 0; i < 4; i++) {
                switch (i) {
                case 0:
                    row.getCell(i).setText("Summary");
                    break;
                case 1:
                    row.getCell(i).setText("Plan");
                    break;
                case 2:
                    row.getCell(i).setText("Actual");
                    break;
                case 3:
                    row.getCell(i).setText("To Date");
                    break;
                }
            }
            row = table.getRow(1);
            for (int i = 0; i < 4; i++) {
                switch (i) {
                case 0:
                    row.getCell(i).setText("LOC/Hour");
                    break;
                case 1:
                    row.getCell(i).setText(locField.getText());
                    break;
                case 2:
                    row.getCell(i).setText(locField2.getText());
                    break;
                case 3:
                    row.getCell(i).setText(locField3.getText());
                    break;
                }
            }
            row = table.getRow(2);
            row.getCell(0).setText("Planned Time");
            row.getCell(1).setText(plannedField.getText());
            row.getCell(3).setText(plannedField2.getText());

            row = table.getRow(3);
            row.getCell(0).setText("Actual Time");
            row.getCell(2).setText(actualField.getText());
            row.getCell(3).setText(actualField2.getText());

            row = table.getRow(4);
            row.getCell(0).setText("CPI");
            row.getCell(3).setText(cpiField.getText());

            row = table.getRow(5);
            for (int i = 0; i < 4; i++) {
                switch (i) {
                case 0:
                    row.getCell(i).setText("% Reused");
                    break;
                case 1:
                    row.getCell(i).setText(perreusedField.getText());
                    break;
                case 2:
                    row.getCell(i).setText(perreusedField2.getText());
                    break;
                case 3:
                    row.getCell(i).setText(perreusedField3.getText());
                    break;
                }
            }
            row = table.getRow(6);
            for (int i = 0; i < 4; i++) {
                switch (i) {
                case 0:
                    row.getCell(i).setText("% Reused");
                    break;
                case 1:
                    row.getCell(i).setText(newreusedField.getText());
                    break;
                case 2:
                    row.getCell(i).setText(newreusedField2.getText());
                    break;
                case 3:
                    row.getCell(i).setText(newreusedField3.getText());
                    break;
                }
            }
            para = document.createParagraph();
        }

        if (comboValue == "2A" || comboValue == "3A" || comboValue == "4A" || comboValue == "5A") {

            System.out.print("test");
            XWPFTable table = document.createTable(5, 4);
            width = table.getCTTbl().addNewTblPr().addNewTblW();
            width.setType(STTblWidth.DXA);
            width.setW(BigInteger.valueOf(9000));

            for (int i = -1; i < 5; i++) {

                if (i == 4)
                    break;
                if (i == -1) { //top row of the table
                    XWPFTableRow row1 = table.getRow(i + 1);
                    for (int j = 0; j < 4; j++) {

                        switch (j) { //no formatting yet like bold etc
                        case 0:
                            row1.getCell(j).setText("Program Size");
                            break;
                        case 1:
                            row1.getCell(j).setText("Plan");
                            break;
                        case 2:
                            row1.getCell(j).setText("Actual");
                            break;
                        case 3:
                            row1.getCell(j).setText("To Date");
                            break;

                        }

                    }
                }
                //although this code assumes that there are values inside
                //UPDATE1: ok i fixed it i think
                else {
                    row = table.getRow(i + 1);
                    for (int j = 0; j < 4; j++) {

                        if (loc11Table.getModel().getValueAt(i, j) != null
                                && !loc11Table.getModel().getValueAt(i, j).toString().isEmpty())
                            row.getCell(j).setText(loc11Table.getModel().getValueAt(i, j).toString());

                    }
                }

            }
            table = document.createTable(4, 4);
            for (int i = 0; i < 4; i++) {

                row = table.getRow(i);
                for (int j = 0; j < 4; j++) {

                    if (loc11Table2.getModel().getValueAt(i, j) != null
                            && !loc11Table2.getModel().getValueAt(i, j).toString().isEmpty())
                        row.getCell(j).setText(loc11Table2.getModel().getValueAt(i, j).toString());

                }

            }

            para = document.createParagraph();

        }

        XWPFTable table = document.createTable(8, 5);
        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        //time
        for (int i = -1; i < 8; i++) {

            if (i == 7)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 5; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Time in Phase");
                        break;
                    case 1:
                        row1.getCell(j).setText("Plan");
                        break;
                    case 2:
                        row1.getCell(j).setText("Actual");
                        break;
                    case 3:
                        row1.getCell(j).setText("To Date");
                        break;
                    case 4:
                        row1.getCell(j).setText("To Date %");
                        break;
                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                row = table.getRow(i + 1);
                for (int j = 0; j < 5; j++) {

                    if (timeTable.getModel().getValueAt(i, j) != null
                            && !timeTable.getModel().getValueAt(i, j).toString().isEmpty())
                        row.getCell(j).setText(timeTable.getModel().getValueAt(i, j).toString());

                }
            }
        }
        System.out.print(timeTable.getModel().getValueAt(0, 0).toString());
        //defect inject
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        table = document.createTable(7, 5);
        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        for (int i = -1; i < 7; i++) {

            if (i == 6)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 5; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Defects Injected");
                        break;
                    case 1:
                        row1.getCell(j).setText("Plan");
                        break;
                    case 2:
                        row1.getCell(j).setText("Actual");
                        break;
                    case 3:
                        row1.getCell(j).setText("To Date");
                        break;
                    case 4:
                        row1.getCell(j).setText("To Date %");
                        break;
                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                row = table.getRow(i + 1);
                for (int j = 0; j < 5; j++) {

                    if (defectiTable.getModel().getValueAt(i, j) != null
                            && !defectiTable.getModel().getValueAt(i, j).toString().isEmpty())

                        row.getCell(j).setText(defectiTable.getModel().getValueAt(i, j).toString());

                }
            }

        }
        //defect removed
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();

        table = document.createTable(8, 5);
        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9000));
        for (int i = -1; i < 8; i++) {

            if (i == 7)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 5; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Time in Phase");
                        break;
                    case 1:
                        row1.getCell(j).setText("Plan");
                        break;
                    case 2:
                        row1.getCell(j).setText("Actual");
                        break;
                    case 3:
                        row1.getCell(j).setText("To Date");
                        break;
                    case 4:
                        row1.getCell(j).setText("To Date %");
                        break;
                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                row = table.getRow(i + 1);
                for (int j = 0; j < 5; j++) {

                    if (defectrTable.getModel().getValueAt(i, j) != null
                            && !defectrTable.getModel().getValueAt(i, j).toString().isEmpty())

                        row.getCell(j).setText(defectrTable.getModel().getValueAt(i, j).toString());

                }
            }
        }

        document.write(out);
        out.close();

    } catch (Exception e) {

    }
}

From source file:sofmeth.mco3.gui.Result2AFrame.java

private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed
    // TODO add your handling code here:
    XWPFDocument document = new XWPFDocument();
    try {//  w ww. j a v  a  2s  .c  o m
        FileOutputStream out = new FileOutputStream(new File("program 2a results.docx"));
        //making of title
        XWPFParagraph para = document.createParagraph();
        para.setAlignment(ParagraphAlignment.CENTER);
        para.setSpacingAfter(500);
        XWPFRun run = para.createRun();
        run.setText("Program 2A Results");
        run.setBold(true);
        run.setFontSize(16);
        //end making of title
        //adding name etc to document
        XWPFTable details = document.createTable(2, 2);
        //setting cell width
        CTTblWidth width = details.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9500));
        //end setting cell width
        //details.getCTTbl().getTblPr().unsetTblBorders();
        XWPFTableRow dtlRow = details.getRow(0);
        dtlRow.getCell(0).setText("Name: " + nameField);
        dtlRow.getCell(1).setText("Date: " + dateField);
        dtlRow = details.getRow(1);
        dtlRow.getCell(0).setText("Professor: " + profField);
        dtlRow.getCell(1).setText("Program#: " + progNumField);
        //end adding name to document
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();

        //creating of TPT table
        XWPFTable table = document.createTable(11, 2);

        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(5000));
        /*
                
        TODO: make all loops like this while loops?
        */
        for (int i = -1; i < 11; i++) {

            if (i == 10)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 2; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Program Number");
                        break;
                    case 1:
                        row1.getCell(j).setText("LOC");
                        break;

                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                XWPFTableRow row = table.getRow(i + 1);
                for (int j = 0; j < 2; j++) {
                    if (resultTable.getModel().getValueAt(i, 1) != null
                            && !resultTable.getModel().getValueAt(i, j).toString().isEmpty()) {

                        if (resultTable.getModel().getValueAt(i, j) != null
                                && !resultTable.getModel().getValueAt(i, j).toString().isEmpty())

                            row.getCell(j).setText(resultTable.getModel().getValueAt(i, j).toString());
                    } else
                        break;
                }
            }
        }
        document.write(out);
        out.close();
    } catch (Exception e) {

    }
}

From source file:sofmeth.mco3.gui.Result3AFrame.java

private void doneButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_doneButtonActionPerformed
    // TODO add your handling code here:
    XWPFDocument document = new XWPFDocument();
    try {//from  w w w. j  av a  2s .c om
        FileOutputStream out = new FileOutputStream(new File("program 3a results.docx"));
        //making of title
        XWPFParagraph para = document.createParagraph();
        para.setAlignment(ParagraphAlignment.CENTER);
        para.setSpacingAfter(500);
        XWPFRun run = para.createRun();
        run.setText("Program 3A Results");
        run.setBold(true);
        run.setFontSize(16);
        //end making of title
        //adding name etc to document
        XWPFTable details = document.createTable(2, 2);
        //setting cell width
        CTTblWidth width = details.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9500));
        //end setting cell width
        //details.getCTTbl().getTblPr().unsetTblBorders();
        XWPFTableRow dtlRow = details.getRow(0);
        dtlRow.getCell(0).setText("Name: " + nameField);
        dtlRow.getCell(1).setText("Date: " + dateField);
        dtlRow = details.getRow(1);
        dtlRow.getCell(0).setText("Professor: " + profField);
        dtlRow.getCell(1).setText("Program#: " + progNumField);
        //end adding name to document
        para = document.createParagraph();
        run = para.createRun();
        run.addBreak();
        run.addBreak();

        //creating of TPT table
        XWPFTable table = document.createTable(11, 4);

        width = table.getCTTbl().addNewTblPr().addNewTblW();
        width.setType(STTblWidth.DXA);
        width.setW(BigInteger.valueOf(9500));
        /*
                
        TODO: make all loops like this while loops?
        */
        for (int i = -1; i < 11; i++) {

            if (i == 10)
                break;
            if (i == -1) { //top row of the table
                XWPFTableRow row1 = table.getRow(i + 1);
                for (int j = 0; j < 4; j++) {

                    switch (j) { //no formatting yet like bold etc
                    case 0:
                        row1.getCell(j).setText("Program Number");
                        break;
                    case 1:
                        row1.getCell(j).setText("Function Name");
                        break;
                    case 2:
                        row1.getCell(j).setText("Object LOC");
                        break;
                    case 3:
                        row1.getCell(j).setText("Total LOC");

                    }

                }
            }
            //although this code assumes that there are values inside
            //UPDATE1: ok i fixed it i think
            else {
                XWPFTableRow row = table.getRow(i + 1);
                for (int j = 0; j < 4; j++) {
                    if (resultTable.getModel().getValueAt(i, 1) != null
                            && !resultTable.getModel().getValueAt(i, j).toString().isEmpty()) {

                        if (resultTable.getModel().getValueAt(i, j) != null
                                && !resultTable.getModel().getValueAt(i, j).toString().isEmpty())

                            row.getCell(j).setText(resultTable.getModel().getValueAt(i, j).toString());
                    } else
                        break;
                }
            }
        }
        document.write(out);
        out.close();
    } catch (Exception e) {

    }
}