/** * poi生成word文档 */ @RequestMapping("wordController!poiToWord.do") public String poiToWord() throws Exception{ XWPFDocument document= new XWPFDocument(); //添加标题 XWPFParagraph titleParagraph = document.createParagraph(); //设置段落居中 titleParagraph.setAlignment(ParagraphAlignment.CENTER); XWPFRun titleParagraphRun = titleParagraph.createRun(); titleParagraphRun.setText("Java PoI"); titleParagraphRun.setColor("000000"); titleParagraphRun.setFontSize(20); //段落 XWPFParagraph firstParagraph = document.createParagraph(); XWPFRun run = firstParagraph.createRun(); run.setText("Java POI 生成word文件"); run.setColor("696969"); run.setFontSize(16); //设置段落背景颜色 CTShd cTShd = run.getCTR().addNewRPr().addNewShd(); cTShd.setVal(STShd.CLEAR); cTShd.setFill("97FFFF"); //换行 XWPFParagraph paragraph1 = document.createParagraph(); XWPFRun paragraphRun1 = paragraph1.createRun(); paragraphRun1.setText("\r"); //基本信息表格 XWPFTable infoTable = document.createTable(); //去表格边框 infoTable.getCTTbl().getTblPr().unsetTblBorders(); //列宽自动分割 CTTblWidth infoTableWidth = infoTable.getCTTbl().addNewTblPr().addNewTblW(); infoTableWidth.setType(STTblWidth.DXA); infoTableWidth.setW(BigInteger.valueOf(9072)); //表格第一行 XWPFTableRow infoTableRowOne = infoTable.getRow(0); infoTableRowOne.getCell(0).setText("职位: "); infoTableRowOne.addNewTableCell().setText("Java 开发工程师"); infoTableRowOne.addNewTableCell().setText("Java 开发工程师"); //表格第二行 XWPFTableRow infoTableRowTwo = infoTable.createRow(); infoTableRowTwo.getCell(0).setText("姓名: "); infoTableRowTwo.getCell(1).setText("xxx"); //表格第三行 XWPFTableRow infoTableRowThree = infoTable.createRow(); infoTableRowThree.getCell(0).setText("出生日期: "); infoTableRowThree.getCell(1).setText("1995-05-21"); //表格第四行 XWPFTableRow infoTableRowFour = infoTable.createRow(); infoTableRowFour.getCell(0).setText("性别: "); infoTableRowFour.getCell(1).setText("男"); //表格第五行 XWPFTableRow infoTableRowFive = infoTable.createRow(); infoTableRowFive.getCell(0).setText("现居地: "); infoTableRowFive.getCell(1).setText("江湖"); //两个表格之间加个换行 XWPFParagraph paragraph = document.createParagraph(); XWPFRun paragraphRun = paragraph.createRun(); paragraphRun.setText("\r"); //工作经历表格 XWPFTable ComTable = document.createTable(); //列宽自动分割 CTTblWidth comTableWidth = ComTable.getCTTbl().addNewTblPr().addNewTblW(); comTableWidth.setType(STTblWidth.DXA); comTableWidth.setW(BigInteger.valueOf(9072)); //表格第一行 XWPFTableRow comTableRowOne = ComTable.getRow(0); comTableRowOne.getCell(0).setText("开始时间"); comTableRowOne.addNewTableCell().setText("结束时间"); comTableRowOne.addNewTableCell().setText("公司名称"); comTableRowOne.addNewTableCell().setText("title"); //表格第二行 XWPFTableRow comTableRowTwo = ComTable.createRow(); comTableRowTwo.getCell(0).setText("2016-09-06"); comTableRowTwo.getCell(1).setText("至今"); comTableRowTwo.getCell(2).setText("seawater"); comTableRowTwo.getCell(3).setText("Java开发工程师"); //表格第三行 XWPFTableRow comTableRowThree = ComTable.createRow(); comTableRowThree.getCell(0).setText("2016-09-06"); comTableRowThree.getCell(1).setText("至今"); comTableRowThree.getCell(2).setText("seawater"); comTableRowThree.getCell(3).setText("Java开发工程师"); CTSectPr sectPr = document.getDocument().getBody().addNewSectPr(); XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr); //添加页眉 CTP ctpHeader = CTP.Factory.newInstance(); CTR ctrHeader = ctpHeader.addNewR(); CTText ctHeader = ctrHeader.addNewT(); String headerText = "应用开发部的demo"; ctHeader.setStringValue(headerText); XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document); //设置为右对齐 headerParagraph.setAlignment(ParagraphAlignment.RIGHT); XWPFParagraph[] parsHeader = new XWPFParagraph[1]; parsHeader[0] = headerParagraph; policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader); //添加页脚 CTP ctpFooter = CTP.Factory.newInstance(); CTR ctrFooter = ctpFooter.addNewR(); CTText ctFooter = ctrFooter.addNewT(); String footerText = "应用开发部"; ctFooter.setStringValue(footerText); XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, document); headerParagraph.setAlignment(ParagraphAlignment.CENTER); XWPFParagraph[] parsFooter = new XWPFParagraph[1]; parsFooter[0] = footerParagraph; policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter); System.out.println("create_table document written success."); HttpServletResponse response = getResponse(); response.reset(); response.setHeader("Content-Disposition", "attachment; filename=poi.docx"); response.setContentType("application/octet-stream;charset=UTF-8"); OutputStream outputStream = new BufferedOutputStream(response.getOutputStream()); document.write(outputStream); outputStream.flush(); outputStream.close(); return JSON; }
poi方式创建word文档
猜你喜欢
转载自blog.csdn.net/blossomfzq/article/details/82868217
今日推荐
周排行