用ITEXT生成带表格的word,表格样式以及换页

liyuntao609 2012-12-21 04:57:34
用itext生成word,换页我用的是document.newPage(); 方法 但是这样导致最后肯定有个空的一页,还有个主要问题,就是调整不到我要的效果,希望能做策划那个如图片那样的效果



谢谢!!!
...全文
548 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
SenLin_NO1 2014-11-18
  • 打赏
  • 举报
回复
判断如果是最后一个就不分页就是了。 if(! XX.size()-1){ document.newPage(); }
liyuntao609 2012-12-22
  • 打赏
  • 举报
回复
Document document = new Document(PageSize.A4);// 创建word文档,并设置纸张的大小 try { RtfWriter2.getInstance(document, new FileOutputStream("f:\\word\\word.doc")); // 定义输出位置并把文档对象装入输出对象中 // 打开文档对象 document.open(); Paragraph ph = new Paragraph(); Font f = new Font(); for (int i = 0; i < 2; i ++){ Paragraph p = new Paragraph("服务工单", new Font(Font.NORMAL, 18, Font.BOLDITALIC, new Color(0, 0, 0))); p.setAlignment(1); document.add(p); ph.setFont(f); // 设置中文字体 // BaseFont bfFont = // BaseFont.createFont("STSongStd-Light", // "UniGB-UCS2-H",BaseFont.NOT_EMBEDDED); // Font chinaFont = new Font(); Table table = new Table(6); // doc.add(new Paragraph("生成表格")); // table.setBorderWidth(1); // table.setBorderColor(Color.BLACK); // table.setPadding(0); // table.setSpacing(0); // Cell cell = new Cell("表头");// 单元格 // cell.setHeader(true); // cell.setColspan(3);// 设置表格为三列 // cell.setRowspan(3);// 设置表格为三行 // table.addCell(cell); // table.endHeaders();// 表头结束 // 表格的主体 Cell cell = new Cell("姓名"); // cell.setRowspan(2);// 当前单元格占两行,纵向跨度 table.addCell(cell); table.addCell(""); table.addCell("性别"); table.addCell(""); table.addCell("年龄"); table.addCell(""); cell = new Cell("联系电话"); table.addCell(cell); table.addCell(""); table.addCell("家庭住址"); cell = new Cell("人员姓名"); // cell.setRowspan(2);// 当前单元格占两行,纵向跨度 table.addCell(cell); table.addCell(""); table.addCell("性别"); table.addCell(""); table.addCell("年龄"); table.addCell(""); table.addCell(new Paragraph("联系电话")); table.addCell(new Paragraph("")); table.addCell(new Paragraph("服务类别")); table.addCell(new Paragraph("")); table.addCell(new Paragraph("预约时间")); table.addCell(new Paragraph("")); cell = new Cell("工单来电确认"); // cell.setRowspan(2);// 当前单元格占两行,纵向跨度 table.addCell(cell); table.addCell(""); cell = new Cell("服务评价"); // cell.setRowspan(2);// 当前单元格占两行,纵向跨度 table.addCell(cell); table.addCell(""); // doc.add(new Paragraph("用java生成word文件")); document.add(table); document.newPage(); } document.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (DocumentException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
liyuntao609 2012-12-22
  • 打赏
  • 举报
回复
用的是itext 生成word的,不知道怎么做成上面那种样子
liyuntao609 2012-12-22
  • 打赏
  • 举报
回复
没人会吗 我表格的样式一直做不到这种效果

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧