List of usage examples for org.apache.poi.xwpf.usermodel XWPFDocument createTable
public XWPFTable createTable(int rows, int cols)
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) { } }