List of usage examples for org.apache.poi.xwpf.usermodel XWPFRun setText
public void setText(String value)
From source file:com.Base.JavaApplication1.java
public static void save(String path) { try {//from w w w. ja va2 s . c o m // JOptionPane.showMessageDialog(null, "Start ImageDoc","Error",JOptionPane.INFORMATION_MESSAGE); //String comment=comment; XWPFDocument docx = new XWPFDocument(); // JOptionPane.showMessageDialog(null, "create ImageDoc","Error",JOptionPane.INFORMATION_MESSAGE); XWPFParagraph par = docx.createParagraph(); XWPFRun run = par.createRun(); run.setText(comment); run.setFontSize(13); FileOutputStream out = new FileOutputStream(path); //JOptionPane.showMessageDialog(null, "Dir"+dir+"\\"+name,"Error",JOptionPane.INFORMATION_MESSAGE); // byte [] picbytes = IOUtils.toByteArray(pic); // run.setText("Software Genrated File"); File f = new File("C:\\images\\*.*"); String str = f.getParent(); File k = new File(str); String list[] = k.list(); JOptionPane.showMessageDialog(null, "Reading Files", "Error", JOptionPane.INFORMATION_MESSAGE); for (int y = 0; y < list.length; y++) { InputStream pic = new FileInputStream("C:\\images\\" + list[y]); XWPFRun run2 = par.createRun(); // run2.setText("Screen Shot No."+(y+1)); run2.addPicture(pic, Document.PICTURE_TYPE_JPEG, "C:\\images\\" + list[y], Units.toEMU(500), Units.toEMU(350)); // XWPFRun run2 = title.createRun(); run2.setText("ScreenShot :" + (y + 1)); pic.close(); System.gc(); } //run.setText("Hello, World. This is my first java generated docx-file. Have fun2shhhh."); // FileInputStream pic2 = new FileInputStream("D:\\i.png"); //byte [] picbytes2 = IOUtils.toByteArray(pic); //docx.addPictureData(IOUtils.toByteArray(pic2), Document.PICTURE_TYPE_PNG); // docx.createParagraph().createRun().addPicture(pic, Document.PICTURE_TYPE_JPEG, "D:\\images\\image0.jpg", Units.toEMU(500), Units.toEMU(500)); XWPFParagraph title = docx.createParagraph(); XWPFRun run2 = title.createRun(); run2.setText(" "); run2.setBold(true); title.setAlignment(ParagraphAlignment.CENTER); JOptionPane.showMessageDialog(null, "Writing File", "Error", JOptionPane.INFORMATION_MESSAGE); System.out.println(dir + name); docx.write(out); out.close(); // pic.close(); JOptionPane.showMessageDialog(null, "Operation Complete", "Error", JOptionPane.INFORMATION_MESSAGE); } catch (Exception e) { JOptionPane.showMessageDialog(null, "No Image to save!" + e, "Error", JOptionPane.ERROR_MESSAGE); } }
From source file:com.bxf.hradmin.testgen.service.impl.DocxTestGenerator.java
License:Open Source License
private void writeQuestionNo(Integer questionNo, XWPFTableRow row) { XWPFTableCell cell = row.getCell(0); XWPFParagraph paragraph = cell.getParagraphs().get(0); adjustLineHeight(paragraph);/*from ww w. j a va 2 s . c o m*/ // paragraph.setAlignment(ParagraphAlignment.CENTER); // cell.getCTTc().addNewTcPr().addNewTcW().setW(BigInteger.valueOf(735)); XWPFRun run = createRun(paragraph); run.setText(String.valueOf(questionNo)); }
From source file:com.bxf.hradmin.testgen.service.impl.DocxTestGenerator.java
License:Open Source License
private void writeQuestion(QuestionSnapshot question, XWPFTableRow row) { // & /* w ww . ja v a 2 s. co m*/ StringBuilder builder = new StringBuilder().append(question.getDesc()); builder.append(NEW_LINE); question.getAnswers().forEach(answer -> builder.append(NEW_LINE).append(answer.getAnswerNo()).append(". ") .append(answer.getDesc())); String desc = builder.toString(); XWPFTableCell cell = row.getCell(1); cell.removeParagraph(0); String[] lines = desc.split(NEW_LINE); for (String line : lines) { // add new line and insert new text XWPFParagraph paragraph = cell.addParagraph(); // & ?? paragraph.setAlignment(ParagraphAlignment.BOTH); adjustLineHeight(paragraph); XWPFRun run = createRun(paragraph); run.setText(line); } }
From source file:com.camel.util.WordDocReader.java
public File readWordDoc(String orginalFilePath, File newFile, String content) { FileInputStream fis = null;//from w w w . j a va2 s . c o m FileOutputStream out = null; try { JTextPane textPane = new JTextPane(); textPane.setText(content); StyledDocument sdoc = textPane.getStyledDocument(); fis = new FileInputStream(orginalFilePath); XWPFDocument doc = new XWPFDocument(fis); XWPFParagraph paragraph = doc.createParagraph(); XWPFRun run = paragraph.createRun(); System.out.println("sonuc..:" + sdoc.getText(0, sdoc.getEndPosition().getOffset())); run.setText(sdoc.getText(0, sdoc.getEndPosition().getOffset())); out = new FileOutputStream(newFile); // yeni dosya oluturuluyor. doc.write(out); } catch (Exception e) { e.printStackTrace(); } finally { if (fis != null) { try { out.close(); fis.close(); out = null; fis = null; } catch (IOException ioEx) { ioEx.printStackTrace(); } } } return newFile; }
From source file:com.crimelab.service.GalleryServiceImpl.java
@Override public XWPFDocument create(GalleryResults galleryResults, HttpSession session) { XWPFDocument document = null;//from w w w . j a v a 2 s.co m //Insert into database galleryDAO.insertResults(galleryResults); try { //Retrieving Template InputStream inpDocx = session.getServletContext() .getResourceAsStream("/WEB-INF/templates/CompositeSketch.docx"); document = new XWPFDocument(inpDocx); //Adding the picture XWPFParagraph pictureHolder = document.createParagraph(); XWPFRun pictureRun = pictureHolder.createRun(); FileInputStream getPhoto = new FileInputStream(galleryResults.getPhotoLocation()); FileInputStream getImage = new FileInputStream(galleryResults.getPhotoLocation()); ImageInputStream imageInput = ImageIO.createImageInputStream(getPhoto); BufferedImage bi = ImageIO.read(imageInput); int width = bi.getWidth() - 100; int height = bi.getHeight() - 100; pictureRun.addBreak(); pictureRun.addPicture(getImage, XWPFDocument.PICTURE_TYPE_PNG, null, Units.toEMU(width), Units.toEMU(height)); pictureHolder.setBorderBottom(Borders.BASIC_BLACK_DASHES); pictureHolder.setBorderTop(Borders.BASIC_BLACK_DASHES); pictureHolder.setBorderLeft(Borders.BASIC_BLACK_DASHES); pictureHolder.setBorderRight(Borders.BASIC_BLACK_DASHES); pictureHolder.setAlignment(ParagraphAlignment.CENTER); // pictureRowHolder.getCell(0).setText("IMAGE PLACER"); //Case number and Date XWPFParagraph info = document.createParagraph(); XWPFRun caseNoAndDate = info.createRun(); caseNoAndDate.setText("Case Number: " + galleryResults.getCaseNo()); caseNoAndDate.addTab(); caseNoAndDate.addTab(); caseNoAndDate.addTab(); caseNoAndDate.addTab(); caseNoAndDate.setText(galleryResults.getDate()); caseNoAndDate.setFontSize(16); //Sketch Details XWPFParagraph caseDetails = document.createParagraph(); XWPFRun detailsParagraph = caseDetails.createRun(); detailsParagraph.setText("Offense/Incident: " + galleryResults.getOffenseIncident()); detailsParagraph.addBreak(); detailsParagraph.setText("Name/AKA: " + galleryResults.getNameAKA()); detailsParagraph.addBreak(); detailsParagraph.setText("Sex: " + galleryResults.getSex()); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.setText("Age: " + galleryResults.getAge()); detailsParagraph.addBreak(); detailsParagraph.setText("Height: " + galleryResults.getHeight()); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.setText("Weight: " + galleryResults.getWeight()); detailsParagraph.addBreak(); detailsParagraph.setText("Built: " + galleryResults.getBuilt()); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.addTab(); detailsParagraph.setText("Complexion: " + galleryResults.getComplexion()); detailsParagraph.addBreak(); detailsParagraph.setText("Other Information: " + galleryResults.getOtherInfo()); detailsParagraph.addBreak(); detailsParagraph.setText("Described by: " + galleryResults.getDescribedBy()); detailsParagraph.addBreak(); detailsParagraph.setText("Requesting party: " + galleryResults.getRequestingParty()); //Details Borders caseDetails.setBorderBottom(Borders.BASIC_BLACK_DASHES); caseDetails.setBorderTop(Borders.BASIC_BLACK_DASHES); caseDetails.setBorderLeft(Borders.BASIC_BLACK_DASHES); caseDetails.setBorderRight(Borders.BASIC_BLACK_DASHES); caseDetails.setAlignment(ParagraphAlignment.LEFT); //Reference Paragraph XWPFParagraph outsideDetails = document.createParagraph(); XWPFRun outsideDetailsRun = outsideDetails.createRun(); outsideDetailsRun.addBreak(); outsideDetailsRun.setText("Note: For reference"); outsideDetailsRun.addBreak(); outsideDetailsRun.setText("The witness indicates that this image is: " + galleryResults.getRating()); getPhoto.close(); getImage.close(); imageInput.close(); document.getXWPFDocument(); } catch (IOException | InvalidFormatException e) { e.printStackTrace(); } return document; }
From source file:com.crimelab.service.PolygraphServiceImpl.java
@Override public XWPFDocument create(Polygraph polygraph, HttpSession session) { XWPFDocument document = null;// ww w . ja v a2s . c o m //Insert into dbase // polygraphDAO.polygraphInfo(polygraph); try { //Blank Document InputStream inpDocx = session.getServletContext() .getResourceAsStream("/WEB-INF/templates/Polygraph.docx"); document = new XWPFDocument(inpDocx); //create Paragraph XWPFParagraph subjectNo = document.createParagraph(); XWPFRun r1 = subjectNo.createRun(); r1.setText("POLYGRAPH SUBJECT NO: " + polygraph.getSubjectNo()); subjectNo.setAlignment(ParagraphAlignment.CENTER); r1.setBold(true); ; //create table XWPFTable table = document.createTable(); //width CTTbl tableFix = table.getCTTbl(); CTTblPr pr = tableFix.getTblPr(); CTTblWidth tblW = pr.getTblW(); tblW.setW(BigInteger.valueOf(4800)); tblW.setType(STTblWidth.PCT); pr.setTblW(tblW); tableFix.setTblPr(pr); //create first row XWPFTableRow tableRowOne = table.getRow(0); XWPFTableCell headerCell = tableRowOne.getCell(0); XWPFParagraph headerParagraph = headerCell.getParagraphs().get(0); XWPFRun hRun = headerParagraph.createRun(); headerCell.setColor("CDCDB4"); hRun.setText("PERSONAL INFORMATION"); tableRowOne.addNewTableCell().setText(null); headerParagraph.setAlignment(ParagraphAlignment.CENTER); XWPFTableCell photoHeaderCell = tableRowOne.getCell(1); XWPFParagraph photoHeaderParagraph = photoHeaderCell.getParagraphs().get(0); XWPFRun pRun = photoHeaderParagraph.createRun(); photoHeaderCell.setColor("CDCDB4"); pRun.setText("PHOTO"); photoHeaderParagraph.setAlignment(ParagraphAlignment.CENTER); XWPFTableRow tableRowTwo = table.createRow(); XWPFTableCell cell = tableRowTwo.getCell(0); XWPFParagraph personalInfo = cell.getParagraphs().get(0); XWPFRun r2 = personalInfo.createRun(); r2.setText("Name"); r2.addTab(); r2.addTab(); r2.setText(": " + polygraph.getName()); r2.addBreak(); r2.setText("Gender"); r2.addTab(); r2.addTab(); r2.setText(": " + polygraph.getGender()); r2.addBreak(); r2.setText("Age"); r2.addTab(); r2.addTab(); r2.setText(": " + polygraph.getAge()); r2.addBreak(); r2.setText("Date of Birth"); r2.addTab(); r2.setText(": " + polygraph.getBirthdate()); r2.addBreak(); r2.setText("Civil Status"); r2.addTab(); r2.setText(": " + polygraph.getCivilStatus()); r2.addBreak(); r2.setText("ID Presented"); r2.addTab(); r2.setText(": " + polygraph.getIdPresented()); r2.addBreak(); r2.setText("Address"); r2.addTab(); r2.setText(": " + polygraph.getAddress()); //Adding the picture XWPFTableCell pictureCell = tableRowTwo.getCell(1); XWPFParagraph pictureHolder = pictureCell.getParagraphs().get(0); XWPFRun pictureRun = pictureHolder.createRun(); FileInputStream getPhoto = new FileInputStream(polygraph.getPhotoLocation()); FileInputStream getImage = new FileInputStream(polygraph.getPhotoLocation()); ImageInputStream imageInput = ImageIO.createImageInputStream(getPhoto); BufferedImage bi = ImageIO.read(imageInput); pictureHolder.setAlignment(ParagraphAlignment.RIGHT); pictureRun.addPicture(getImage, XWPFDocument.PICTURE_TYPE_JPEG, null, Units.toEMU(120), Units.toEMU(120)); XWPFParagraph spacing = document.createParagraph(); XWPFRun spacingRun = spacing.createRun(); //create table XWPFTable otherTable = document.createTable(); //width CTTbl tableFixTwo = otherTable.getCTTbl(); CTTblPr prTwo = tableFixTwo.getTblPr(); CTTblWidth tblWTwo = prTwo.getTblW(); tblWTwo.setW(BigInteger.valueOf(4800)); tblWTwo.setType(STTblWidth.PCT); prTwo.setTblW(tblWTwo); tableFixTwo.setTblPr(prTwo); XWPFTableRow examInfoHeader = otherTable.createRow(); XWPFTableCell cellInfo = examInfoHeader.getCell(0); XWPFParagraph examInfo = cellInfo.getParagraphs().get(0); XWPFRun r3 = examInfo.createRun(); cellInfo.setColor("CDCDB4"); r3.setText("EXAM INFORMATION"); examInfo.setAlignment(ParagraphAlignment.CENTER); XWPFTableRow examInfoRow = otherTable.createRow(); XWPFTableCell cellRowInfo = examInfoRow.getCell(0); XWPFParagraph examInfoRowP = cellRowInfo.getParagraphs().get(0); XWPFRun examRun = examInfoRowP.createRun(); examRun.setText("Case Number"); examRun.addTab(); examRun.addTab(); examRun.setText(": " + polygraph.getCaseNo()); examRun.addBreak(); examRun.setText("Requesting Party"); examRun.addTab(); examRun.setText(": " + polygraph.getRequestingParty()); examRun.addBreak(); examRun.setText("Time/Date Received"); examRun.addTab(); examRun.setText(": " + polygraph.getTimeDateReceived()); examRun.addBreak(); examRun.setText("Nature of Case"); examRun.addTab(); examRun.addTab(); examRun.setText(": " + polygraph.getNatureOfCase()); examRun.addBreak(); examRun.setText("Exam Location"); examRun.addTab(); examRun.addTab(); examRun.setText(": " + polygraph.getExamLocation()); examRun.addBreak(); examRun.setText("Exam Date"); examRun.addTab(); examRun.addTab(); examRun.setText(": " + polygraph.getExamDate()); otherTable.removeRow(0); XWPFParagraph purposeOfExamination = document.createParagraph(); XWPFRun r4 = purposeOfExamination.createRun(); r4.setUnderline(UnderlinePatterns.SINGLE); r4.addBreak(); r4.setText("SECTION 1: PURPOSE OF EXAMINATION"); r4.addTab(); r4.addTab(); r4.addTab(); r4.addTab(); r4.addTab(); r4.addTab(); r4.addTab(); r4.addTab(); r4.addTab(); XWPFParagraph purposeOfExaminationContents = document.createParagraph(); XWPFRun r4Contents = purposeOfExaminationContents.createRun(); r4Contents.setText(polygraph.getPurpose()); XWPFParagraph preTestInterview = document.createParagraph(); XWPFRun r5 = preTestInterview.createRun(); r5.setUnderline(UnderlinePatterns.SINGLE); r5.setText("SECTION 2: PRE-TEST INTERVIEW"); r5.addTab(); r5.addTab(); r5.addTab(); r5.addTab(); r5.addTab(); r5.addTab(); r5.addTab(); r5.addTab(); r5.addTab(); XWPFParagraph preTestInterviewContents = document.createParagraph(); XWPFRun r5Contents = preTestInterviewContents.createRun(); r5Contents.setText(polygraph.getPreTest()); XWPFParagraph inTestPhase = document.createParagraph(); XWPFRun r6 = inTestPhase.createRun(); r6.setUnderline(UnderlinePatterns.SINGLE); r6.setText("SECTION 3: IN-TEST PHASE"); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); r6.addTab(); XWPFParagraph inTestPhaseContents = document.createParagraph(); XWPFRun r6Contents = inTestPhaseContents.createRun(); r6Contents.setText(polygraph.getInTest()); XWPFParagraph result = document.createParagraph(); XWPFRun r7 = result.createRun(); r7.setUnderline(UnderlinePatterns.SINGLE); r7.setText("SECTION 4: RESULT"); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); r7.addTab(); XWPFParagraph resultContents = document.createParagraph(); XWPFRun r7Contents = resultContents.createRun(); r7Contents.setText(polygraph.getResult()); XWPFParagraph postTestInterview = document.createParagraph(); XWPFRun r8 = postTestInterview.createRun(); r8.setUnderline(UnderlinePatterns.SINGLE); r8.setText("SECTION 5: POST-TEST INTERVIEW"); r8.addTab(); r8.addTab(); r8.addTab(); r8.addTab(); r8.addTab(); r8.addTab(); r8.addTab(); r8.addTab(); r8.addTab(); XWPFParagraph postTestInterviewContents = document.createParagraph(); XWPFRun r8Contents = postTestInterviewContents.createRun(); r8Contents.setText(polygraph.getPostTest()); XWPFParagraph remarks = document.createParagraph(); XWPFRun r9 = remarks.createRun(); r9.setUnderline(UnderlinePatterns.SINGLE); r9.setText("REMARKS:"); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); r9.addTab(); XWPFParagraph remarksContents = document.createParagraph(); XWPFRun r9Contents = remarksContents.createRun(); r9Contents.setText(polygraph.getRemarks()); XWPFParagraph timeDateCompleted = document.createParagraph(); XWPFRun r10 = timeDateCompleted.createRun(); r10.setUnderline(UnderlinePatterns.SINGLE); r10.setText("TIME AND DATE COMPLETED:"); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); r10.addTab(); XWPFParagraph timeDateCompletedContents = document.createParagraph(); XWPFRun r10Contents = timeDateCompletedContents.createRun(); r10Contents.setText(polygraph.getTimeDateCompleted()); XWPFParagraph examinedBy = document.createParagraph(); XWPFRun r11 = examinedBy.createRun(); r11.setUnderline(UnderlinePatterns.SINGLE); r11.setText("EXAMINED BY:"); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); r11.addTab(); XWPFParagraph examinedByContents = document.createParagraph(); XWPFRun r11Contents = examinedByContents.createRun(); r11Contents.setText(polygraph.getExaminerName()); r11Contents.addBreak(); r11Contents.setText(polygraph.getExaminerRank()); r11Contents.addBreak(); r11Contents.setText(polygraph.getExaminerPosition()); XWPFParagraph approvedBy = document.createParagraph(); XWPFRun r12 = approvedBy.createRun(); r12.setUnderline(UnderlinePatterns.SINGLE); r12.setText("APPROVED BY:"); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); r12.addTab(); XWPFParagraph approvedByContents = document.createParagraph(); XWPFRun r12Contents = approvedByContents.createRun(); // r12Contents.setText(polygraph.getApprovedName()); // r12Contents.addBreak(); // r12Contents.setText(polygraph.getApprovedRank()); // r12Contents.addBreak(); // r12Contents.setText(polygraph.getApprovedPosition()); // r12Contents.addBreak(); XWPFParagraph notedBy = document.createParagraph(); XWPFRun r13 = notedBy.createRun(); r13.setUnderline(UnderlinePatterns.SINGLE); r13.setText("NOTED BY:"); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); r13.addTab(); XWPFParagraph notedByContents = document.createParagraph(); XWPFRun r13Contents = notedByContents.createRun(); r13Contents.setText(polygraph.getNotedName()); r13Contents.addBreak(); r13Contents.setText(polygraph.getNotedRank()); r13Contents.addBreak(); r13Contents.setText(polygraph.getNotedPosition()); r13Contents.addBreak(); table.setInsideVBorder(XWPFTable.XWPFBorderType.NIL, 0, 0, "white"); document.getXWPFDocument(); } catch (Exception e) { e.printStackTrace(); } return document; }
From source file:com.deepoove.poi.tl.SimpleTable.java
License:Apache License
public static void createSimpleTable() throws Exception { XWPFDocument doc = new XWPFDocument(); XWPFTable table = doc.createTable(3, 3); table.getRow(1).getCell(1).setText("EXAMPLE OF TABLE"); // table cells have a list of paragraphs; there is an initial // paragraph created when the cell is created. If you create a // paragraph in the document to put in the cell, it will also // appear in the document following the table, which is probably // not the desired result. XWPFParagraph p1 = table.getRow(0).getCell(0).getParagraphs().get(0); XWPFRun r1 = p1.createRun(); r1.setBold(true);/*from w w w. j a va 2 s .co m*/ r1.setText("The quick brown fox"); r1.setItalic(true); r1.setFontFamily("Courier"); r1.setUnderline(UnderlinePatterns.DOT_DOT_DASH); r1.setTextPosition(100); table.getRow(2).getCell(2).setText("only text"); FileOutputStream out = new FileOutputStream("simpleTable.docx"); doc.write(out); out.close(); }
From source file:com.deepoove.poi.tl.SimpleTable.java
License:Apache License
/** * Create a table with some row and column styling. I "manually" add the * style name to the table, but don't check to see if the style actually * exists in the document. Since I'm creating it from scratch, it obviously * won't exist. When opened in MS Word, the table style becomes "Normal". * I manually set alternating row colors. This could be done using Themes, * but that's left as an exercise for the reader. The cells in the last * column of the table have 10pt. "Courier" font. * I make no claims that this is the "right" way to do it, but it worked * for me. Given the scarcity of XWPF examples, I thought this may prove * instructive and give you ideas for your own solutions. /*from w w w.j a va 2s . c om*/ * @throws Exception */ public static void createStyledTable() throws Exception { // Create a new document from scratch XWPFDocument doc = new XWPFDocument(); // -- OR -- // open an existing empty document with styles already defined //XWPFDocument doc = new XWPFDocument(new FileInputStream("base_document.docx")); // Create a new table with 6 rows and 3 columns int nRows = 6; int nCols = 3; XWPFTable table = doc.createTable(nRows, nCols); // Set the table style. If the style is not defined, the table style // will become "Normal". CTTblPr tblPr = table.getCTTbl().getTblPr(); CTString styleStr = tblPr.addNewTblStyle(); styleStr.setVal("StyledTable"); // Get a list of the rows in the table List<XWPFTableRow> rows = table.getRows(); int rowCt = 0; int colCt = 0; for (XWPFTableRow row : rows) { // 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(); // 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); if (rowCt == 0) { // header row ctshd.setFill("A7BFDE"); } else if (rowCt % 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(); // style cell as desired if (colCt == nCols - 1) { // last column is 10pt Courier rh.setFontSize(10); rh.setFontFamily("Courier"); } if (rowCt == 0) { // header row rh.setText("header row, col " + colCt); rh.setBold(true); para.setAlignment(ParagraphAlignment.CENTER); } else if (rowCt % 2 == 0) { // even row rh.setText("row " + rowCt + ", col " + colCt); para.setAlignment(ParagraphAlignment.LEFT); } else { // odd row rh.setText("row " + rowCt + ", col " + colCt); para.setAlignment(ParagraphAlignment.LEFT); } colCt++; } // for cell colCt = 0; rowCt++; } // for row // write the file FileOutputStream out = new FileOutputStream("styledTable.docx"); doc.write(out); out.close(); }
From source file:com.dexter.fms.mbean.FleetMBean.java
License:Open Source License
private void addHeaderCell(XWPFTableRow row, String text, boolean first) { XWPFParagraph tp = null;//from ww w. jav a 2 s.c o m if (first) tp = row.getCell(0).getParagraphs().get(0); else { tp = row.addNewTableCell().getParagraphs().get(0); } XWPFRun tpr = tp.createRun(); tpr.setBold(true); tpr.setItalic(true); tpr.setText(text); }
From source file:com.dexter.fms.mbean.FleetMBean.java
License:Open Source License
@SuppressWarnings("unchecked") public void generateWorkOrderWordDoc(long id) { try {/*from ww w .j a va2 s .com*/ setSelectedWorkOrder(null); for (WorkOrder w : getRountineWorkOrders()) { if (w.getId().longValue() == id) { setSelectedWorkOrder(w); break; } } if (getSelectedWorkOrder() != null) { GeneralDAO gDAO = new GeneralDAO(); FacesContext context = FacesContext.getCurrentInstance(); XWPFDocument document = new XWPFDocument(); XWPFParagraph paragraphOne = document.createParagraph(); paragraphOne.setAlignment(ParagraphAlignment.LEFT); /*paragraphOne.setBorderBottom(Borders.SINGLE); paragraphOne.setBorderTop(Borders.SINGLE); paragraphOne.setBorderRight(Borders.SINGLE); paragraphOne.setBorderLeft(Borders.SINGLE); paragraphOne.setBorderBetween(Borders.SINGLE); */ XWPFRun paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); paragraphOneRunOne.setText("Work Order No. - " + getSelectedWorkOrder().getWorkOrderNumber()); paragraphOneRunOne.addBreak(); paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); paragraphOneRunOne.setText("Type - " + getSelectedWorkOrder().getWorkOrderType()); paragraphOneRunOne.addBreak(); paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); paragraphOneRunOne.setText( "Prepared by - " + getSelectedWorkOrder().getCreatedBy().getPersonel().getFirstname() + " " + getSelectedWorkOrder().getCreatedBy().getPersonel().getLastname()); paragraphOneRunOne.addBreak(); paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); paragraphOneRunOne.setText("Prepared on - " + getSelectedWorkOrder().getCrt_dt()); paragraphOneRunOne.addBreak(); paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); paragraphOneRunOne .setText("Description - " + getSelectedWorkOrder().getSummaryDetailsOfWorkOrder()); paragraphOneRunOne.addBreak(); paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); paragraphOneRunOne.setText("Status - " + getSelectedWorkOrder().getStatus()); paragraphOneRunOne.addBreak(); if ((getSelectedWorkOrder().getStatus().equalsIgnoreCase("IN-PROGRESS") || getSelectedWorkOrder().getStatus().equalsIgnoreCase("COMPLETED"))) { paragraphOneRunOne = paragraphOne.createRun(); paragraphOneRunOne.setBold(true); paragraphOneRunOne.setItalic(true); if (getSelectedWorkOrder().getVendor() != null) paragraphOneRunOne.setText("Vendor - " + getSelectedWorkOrder().getVendor().getName()); else paragraphOneRunOne.setText("Vendor - N/A"); paragraphOneRunOne.addBreak(); } XWPFParagraph paragraph2 = document.createParagraph(); paragraph2.setAlignment(ParagraphAlignment.CENTER); XWPFRun paragraph2Run = paragraph2.createRun(); paragraph2Run.setBold(true); paragraph2Run.setItalic(true); paragraph2Run.setUnderline(UnderlinePatterns.DOUBLE); paragraph2Run.setText("Vehicles"); paragraph2Run.addBreak(); double totalCost = 0; for (WorkOrderVehicle v : getSelectedWorkOrder().getVehicles()) { VehicleRoutineMaintenance vrm = null; if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("IN-PROGRESS") || getSelectedWorkOrder().getStatus().equalsIgnoreCase("COMPLETED")) { Hashtable<String, Object> params = new Hashtable<String, Object>(); params.put("vehicle", v.getVehicle()); params.put("workOrder", getSelectedWorkOrder()); Object vrmObj = gDAO.search("VehicleRoutineMaintenance", params); if (vrmObj != null) { Vector<VehicleRoutineMaintenance> list = (Vector<VehicleRoutineMaintenance>) vrmObj; vrm = list.get(0); } } XWPFParagraph paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.LEFT); XWPFRun paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Registration Number: " + v.getVehicle().getRegistrationNo()); paragraphRun.addBreak(); paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Model: " + v.getVehicle().getModel().getName() + "[" + v.getVehicle().getModel().getYear() + "]"); paragraphRun.addBreak(); paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Work Required: " + v.getDetailsOfWork()); paragraphRun.addBreak(); if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("IN-PROGRESS") && vrm != null) { paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Start Date: " + vrm.getStart_dt()); paragraphRun.addBreak(); } else if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("COMPLETED") && vrm != null) { paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Start Date: " + vrm.getStart_dt()); paragraphRun.addBreak(); paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Close Date: " + vrm.getClose_dt()); paragraphRun.addBreak(); } paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("NEW")) paragraphRun.setText("Vendor Cost: "); else if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("IN-PROGRESS")) { if (vrm != null) { paragraphRun.setText("Vendor Cost: " + NumberFormat.getInstance().format(vrm.getInitial_amount().doubleValue())); totalCost += vrm.getInitial_amount().doubleValue(); } else paragraphRun.setText("Vendor Cost: "); } else if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("COMPLETED")) { if (vrm != null) { paragraphRun.setText("Vendor Cost: " + NumberFormat.getInstance().format(vrm.getClosed_amount().doubleValue())); totalCost += vrm.getClosed_amount().doubleValue(); } else paragraphRun.setText("Vendor Cost: "); } paragraphRun.addBreak(); XWPFTable table = paragraph.getDocument().createTable(); XWPFTableRow tableRowOne = table.getRow(0); addHeaderCell(tableRowOne, "Item", true); addHeaderCell(tableRowOne, "Type", false); addHeaderCell(tableRowOne, "Action", false); addHeaderCell(tableRowOne, "Count", false); if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("NEW")) { addHeaderCell(tableRowOne, "Vendor Cost", false); addHeaderCell(tableRowOne, "Comment", false); } for (WorkOrderItem itm : v.getItems()) { XWPFTableRow tableRow = table.createRow(); tableRow.getCell(0).setText(itm.getItem().getName()); tableRow.getCell(1).setText(itm.getItem().getType().getName()); tableRow.getCell(2).setText(itm.getAction()); tableRow.getCell(3).setText(String.valueOf(itm.getCount())); if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("NEW")) { tableRow.getCell(4).setText(""); tableRow.getCell(5).setText(""); } } } gDAO.destroy(); if (getSelectedWorkOrder().getStatus().equalsIgnoreCase("IN-PROGRESS") || getSelectedWorkOrder().getStatus().equalsIgnoreCase("COMPLETED")) { XWPFParagraph paragraph = document.createParagraph(); paragraph.setAlignment(ParagraphAlignment.LEFT); XWPFRun paragraphRun = paragraph.createRun(); paragraphRun.setBold(true); paragraphRun.setItalic(true); paragraphRun.setText("Total Cost: " + NumberFormat.getInstance().format(totalCost)); } ByteArrayOutputStream baos = new ByteArrayOutputStream(); document.write(baos); String fileName = getSelectedWorkOrder().getWorkOrderNumber() + ".docx"; writeFileToResponse(context.getExternalContext(), baos, fileName, "application/vnd.openxmlformats-officedocument.wordprocessingml.document"); context.responseComplete(); } else { msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "Failed: ", "No work order selected!"); FacesContext.getCurrentInstance().addMessage(null, msg); } } catch (Exception ex) { ex.printStackTrace(); msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "ERROR: ", ex.getMessage()); FacesContext.getCurrentInstance().addMessage(null, msg); } }