public String exportInfo() throws DocumentException, IOException{
//定义A4页面大小
Rectangle rectPageSize = new Rectangle(PageSize.A4);
// rectPageSize = rectPageSize.rotate();
Document doc = new Document(rectPageSize);//创建文档,并设置纸张的大小
ByteArrayOutputStream baos = new ByteArrayOutputStream();//创建字节输出流
RtfWriter2.getInstance(doc, baos);//创建书写器与doc对象关联,并通过书写器将文档输入到输入流
doc.open();//打开文档
Font titleFont = setFontStyle("华文中宋", 16f, Font.BOLD);//设置标题的格式
Font headerFont = setFontStyle("华文中宋", 10.5f, Font.BOLD);//设置标题的格式
Font contextFont = setFontStyle("宋体", 10.5f, Font.NORMAL );//设置正文格式
//创建标题
Paragraph title = new Paragraph( "单位基本情况", FontFactory.getFont(FontFactory.HELVETICA_BOLDOBLIQUE, 18, Font.BOLD,new Color(0, 0, 0)));
title.setAlignment(Element.ALIGN_CENTER);
title.setFont(titleFont);
doc.add(title);
Table table = new Table(16);//设置表格
int[] width ={16,4,4,4,4,4,4,12,20,4,4,4,4,4,4,8};
table.setWidths(width);//设置每列所占比例
table.setWidth(95);//占页面宽度
table.setAlignment(Element.ALIGN_CENTER);// 居中显示
// table.setAlignment(Element.ALIGN_MIDDLE);// 纵向居中显示
table.setAutoFillEmptyCells(true); // 自动填满
table.setBorderWidth(5); // 边框宽度
//table.setBorderColor(new Color(0, 125, 255)); // 边框颜色
//table.setPadding(5);// 衬距,看效果就知道什么意思了
table.setSpacing(0);// 即单元格之间的间距
table.setBorder(5);// 边框
Organization org =organizationService.getInstanceByOrgId(orgId);
Cell cell = new Cell(new Phrase("01单位名称",headerFont));// 单元格
cell.setHeader(true);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
// cell.setHorizontalAlignment(10);
cell.setRowspan(1);// 设置表格为1行
table.addCell(cell);
cell = new Cell(new Phrase(org.getOrgName(), contextFont));
cell.setColspan(15);
table.addCell(cell);
cell = new Cell(new Phrase("02单位地址",headerFont));
cell.setHeader(true);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
// cell.setHorizontalAlignment(10);
cell.setRowspan(3);// 设置表格为3行
table.addCell(cell);
String[] address = org.getOrgRegion().split(",");
cell = new Cell(new Phrase(address[0]+"省(自治区、直辖市)"+" "+address[1]+"地(区、市、州、盟)"+"\n"+address[2]+"县(区、市、旗)",contextFont));
cell.setRowspan(3);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
cell.setColspan(15);
table.addCell(cell);
cell = new Cell( new Phrase("03邮政编码",headerFont));
cell.setHeader(true);
//cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
// cell.setHorizontalAlignment(10);
cell.setRowspan(1);// 设置表格为1行
table.addCell(cell);
cell = new Cell(new Phrase(org.getZipCode(),contextFont));
cell.setColspan(7);
table.addCell(cell);
cell = new Cell(new Phrase("04行政区划代码",headerFont));
//cell.setHeader(true);
//cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
//cell.setRowspan(1);
table.addCell(cell);
cell = new Cell(new Phrase(org.getAdmDvsCode()+"",contextFont));
cell.setColspan(7);
table.addCell(cell);
cell = new Cell(new Phrase("05单位负责人",headerFont));
cell.setHeader(true);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(2);
table.addCell(cell);
cell = new Cell(new Phrase("姓 名",contextFont));
cell.setColspan(3);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new Cell(new Phrase(org.getOrgRulerName(),contextFont));
cell.setColspan(4);
table.addCell(cell);
cell = new Cell(new Phrase("职务/职称",contextFont));
cell.setColspan(1);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new Cell(new Phrase(org.getOrgRulerPost(),contextFont));
cell.setColspan(7);
table.addCell(cell);
cell = new Cell(new Phrase("办公电话",contextFont));
cell.setColspan(3);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new Cell(new Phrase(org.getOrgRulerPhone(),contextFont));
cell.setColspan(4);
table.addCell(cell);
cell = new Cell(new Phrase("电子邮件",contextFont));
cell.setColspan(1);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new Cell(new Phrase(org.getOrgRulerEmail(),contextFont));
cell.setColspan(7);
table.addCell(cell);
cell = new Cell(new Phrase("06责任部门",headerFont));
cell.setHeader(true);
//cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(1);
table.addCell(cell);
cell = new Cell(new Phrase(org.getOrgRespDept(),contextFont));
cell.setColspan(15);
table.addCell(cell);
cell = new Cell(new Phrase("07责任部门联系人",headerFont));
cell.setHeader(true);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(3);
table.addCell(cell);
cell = new Cell(new Phrase("姓 名",contextFont));
cell.setColspan(3);
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell);
cell = new Cell(new Phrase(org.getContactPerson(),contextFont));
cell.setColspan(4);
table.addCell(cell);
cell = new Cell(new Phrase("职务/职称",contextFont));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setColspan(1);
table.addCell(cell);
cell = new Cell(new Phrase(org.getContactPersonPost(),contextFont));
cell.setColspan(7);
table.addCell(cell);
cell = new Cell(new Phrase("办公电话",contextFont));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setColspan(3);
table.addCell(cell);
cell = new Cell(new Phrase(org.getContactPhone(),contextFont));
cell.setColspan(4);
table.addCell(cell);
cell = new Cell(new Phrase("电子邮件",contextFont));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(2);
cell.setColspan(1);
table.addCell(cell);
cell = new Cell(new Phrase(org.getContactEmail(),contextFont));
cell.setColspan(7);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(2);
table.addCell(cell);
cell = new Cell(new Phrase("移动电话",contextFont));
cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(1);
cell.setColspan(3);
table.addCell(cell);
cell = new Cell(new Phrase(org.getContactMobile(),contextFont));
cell.setColspan(4);
table.addCell(cell);
cell = new Cell(new Phrase("08隶属关系",headerFont));
cell.setHeader(true);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(3);
table.addCell(cell);
String MemberShip = operLogService.selectValueFromDict("super_unit", org.getOrgMemberShip());
List<Object[]> ol = new ArrayList<Object[]>();
ol = operLogService.getKeyValueData(null, "super_unit");
String strms ="";
for(int i = 0;i<ol.size();i++){
if(ol.get(i)[1].equals(MemberShip)){
strms+= "☑"+ol.get(i)[1]+" ";
}else{
strms+="□"+ol.get(i)[1]+" ";
}
if(i==2){
strms+="\n";
}
}
cell = new Cell(new Phrase(strms,contextFont));
cell.setColspan(15);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(3);
table.addCell(cell);
cell = new Cell(new Phrase("09单位类型",headerFont));
cell.setHeader(true);
//cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(1);
table.addCell(cell);
String OrgType = operLogService.selectValueFromDict("unit_type", org.getOrgType());
ol = operLogService.getKeyValueData(null, "unit_type");
String strType ="";
for(int i = 0;i<ol.size();i++){
if(ol.get(i)[1].equals(OrgType)){
strType+= "☑"+ol.get(i)[1]+" ";
}else{
strType+="□"+ol.get(i)[1]+" ";
}
}
cell = new Cell(new Phrase(strType,contextFont));
cell.setColspan(15);
table.addCell(cell);
cell = new Cell( new Phrase("10行业类别",headerFont));
cell.setHeader(true);
cell.setVerticalAlignment(Element.ALIGN_CENTER);
//cell.setHorizontalAlignment(Element.ALIGN_CENTER);
cell.setRowspan(1);
table.addCell(cell);
String OrgIndSector = operLogService.selectValueFromDict("industry_cat", org.getOrgIndSector());
ol = operLogService.getKeyValueData(null, "industry_cat");
String strOis ="";
for(int i = 0;i<ol.size();i++){
String blankNum = "";
String str = ol.get(i)[1].toString();
if(str.length()==2){
blankNum=" ";
}else if(str.length()==4){
blankNum=" ";
}else if(str.length()==6){
blankNum=" ";
}else if(str.length()==8){
blankNum=" ";
}else if(str.length()==9){
blankNum=" ";
}
if(ol.get(i)[1].equals(OrgIndSector)){
strOis+= "☑"+ol.get(i)[1]+blankNum;
}else{
strOis+="□"+ol.get(i)[1]+blankNum;
}
if((i+1)%4==0){
strOis+="\n";
}
}
cell = new Cell(new Phrase(strOis,contextFont));
cell.setColspan(15);
table.addCell(cell);
..............(省略无用)
doc.add(table);
doc.close();
fileInputStream = new ByteArrayInputStream(baos.toByteArray());
baos.close();
return "exportSuccess";
}
分享到:
相关推荐
用到的一个导出word表格的实例
可实现java导出word文档,表格,以及用itex导入所需的全部jar包
iText 2 1 7 java导出word表格所需jar
java 使用iText生成word文档,包中带有源码与所用jar包,生成文档格式标准。可分页,可带页眉,可生成表格、图片和文字等word元素内容,文字带字号,字体,颜色等。
Itext 导出word,可以导出富文本内容包括图片以及复杂的样式内容,可以导出表格,和图片等内容。
NULL 博文链接:https://keep-going.iteye.com/blog/1907664
IText方式导出Word,包括层级目录、页眉、页脚、设置页码、设置字体,Table表格,图片
itext导出word很好用,导出格式自己定义,可以生成完美的word表格。
可以导出PDF,但是导出的PDF中,表格没有线框
html渲染页面转换为pdf并设置页眉,页码,水印,目录,二维码
这个工具是基于itext和jdom开源项目所建成的。能完成一些页眉页脚,文字段落,表格的导出。
Java 生成word文件,带样式,带页眉,带页码,带图片,带表格,需要相关iText包,包可在http://download.csdn.net/detail/wuxinxing1981/8055977 链接下载。
如何用java生成动态word表格,以及在表格中插入图片是一个难题,花了两天时间做出来的,希望对大家有帮助 需要jar包:iText-2.1.7.jar, iText-rtf-2.1.7.jar, iTextAsian.jar和jxl.jar 注意前两个jar包的版本要能...
最近有需求将数据导出到word里,然后编辑打印。 想过几种方案: 1.使用jacob。 2.使用apache的poi。 3.使用itext。 由于时间比较紧,没多的时候去学习研究上述工具包,现在用javascript操作ActiveXObject控件,用...
解决HTML转pdf 中文、数字、英文不能换行的问题,修改的源码包 重新计算了右边距
util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...
日历表格面板 [ConfigLine.java] 控制条类 [RoundBox.java] 限定选择控件 [MonthMaker.java] 月份表算法类 [Pallet.java] 调色板,统一配色类 Java扫雷源码 Java生成自定义控件源代码 2个目标文件 Java实现HTTP连接...