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";
}
分享到:
相关推荐
**正文** ...总的来说,使用itext实现导出Word是一项涉及多个步骤和技术的任务,需要对PDF和Word的内部结构有深入的理解,以及一定的编程技巧。通过学习和实践,可以创建出高效且可靠的转换工具。
在描述中提到的“导出word文档案例”,我们可以按照以下步骤来实现: 1. **初始化Document对象**:这是iText文档的基础,用于定义文档的结构。 2. **创建Paragraph和Table**:Paragraph用于添加文本,而Table可以...
在“利用Itext画模板导出word,纯java实现”这个主题中,主要涉及以下几个知识点: 1. **模板设计**:模板是预先设定好布局和格式的文档,通常包含占位符,这些占位符在程序运行时会被实际数据替换。在Itext中,...
4. **表格和列表**:iText提供高级的表格处理功能,支持多列、合并单元格、自动调整列宽等。同时,它也可以轻松地创建和格式化列表。 5. **字体支持**:iText支持多种字体,包括Unicode和CJK(Chinese, Japanese, ...
在IT行业中,iText是一个非常流行的Java库,用于创建、修改和处理PDF文档。然而,这个库也提供了将数据导出到其他格式的功能,包括Microsoft Word...不过,对于简单的表格导出任务,iText是一个快速且有效的解决方案。
在这个场景中,我们将探讨如何利用iText来生成包含表格、图片以及带有颜色的文本的Word文档。 首先,要使用iText生成Word文档,你需要在项目中引入iText的库。iText提供了一个名为iText-for-Office的模块,专门用于...
在这个例子中,我们将深入探讨如何利用IText库来导出Word文档,以便于在各种场合下生成定制化的报告、合同或任何其他需要文字处理的文档。 首先,了解IText库的基本概念是非常重要的。IText提供了丰富的API,允许...
【itext导出Word:创建和操作Word文档的利器】 在IT行业中,处理文档格式转换是常见的需求之一,尤其在企业级应用中。iText是一个强大的开源Java库,专门用于处理PDF文档,但它也提供了创建和操作Word文档(.doc或....
本篇文章将详细讲解如何利用iText库导出Word文档,以及相关的编程知识点。 首先,我们需要了解iText的基本概念。iText是一个开源的Java库,由iText Group NV开发,它允许开发者在Java或.NET环境中生成、修改和处理...
在这个特定的例子中,我们将讨论如何使用Itext来导出Word文档。虽然Itext的主要功能是处理PDF,但通过其扩展库,它也能支持其他格式,包括Microsoft Word的DOC和DOCX格式。 首先,我们来看一下Itext的核心库:`...
在本文中,我们将详细介绍如何利用Itext控件在不需要Word的情况下导出Word文档。 首先,了解如何使用Itext控件创建PDF文档。创建PDF的基本步骤如下: 1. **创建Document对象**:`Document document = new Document...
iText是一款功能强大的Java库,主要...总的来说,使用iText 2.1.7导出Word表格需要对Java编程、iText API以及可能的文件转换流程有深入理解。在实际应用中,还需要根据具体需求进行定制化开发,以满足各种复杂场景。
总的来说,"JAVA ITEXT 导出试卷"是一个利用Java和iText库实现的自动化试卷生成系统。它涉及的知识点包括Java编程基础、iText库的使用、PDF文档结构的理解以及可能的数据解析和文件操作。通过这样的系统,教育从业者...
IText是一款广泛使用的Java库,专门用于创建和编辑PDF及Word文档。在本文中,我们将深入探讨如何利用IText库生成这两种格式的文档,并通过实际的源码示例来理解其工作原理。 首先,让我们从PDF(Portable Document ...
**iText导出Word** 虽然iText的主要功能是处理PDF,但也可以通过将PDF转换为DOCX格式间接实现Word文档的创建。这通常涉及到先使用iText生成PDF,然后再用第三方工具(如Apache POI)将PDF转换为Word。然而,这种...
标题中的“使用iText方式导出word格式”指的是利用iText这个开源Java库来创建Microsoft Word文档。iText主要用于PDF文档处理,但它也提供了一种将内容导出为其他格式的功能,包括Word(.doc或.docx)。 iText是一个...
为了实现Word导出,开发者需要理解RTF格式的规则,因为iText通过RTFWriter将PDF内容转换为Word兼容的格式。这涉及到理解如何表示文本样式、图像、超链接等元素在RTF中的语法。 总之,这个示例提供了一个使用iText库...
本文将深入探讨如何使用ITEXT库导出PDF和Word,以及利用Apache POI库导出Excel报表文件。 首先,让我们来了解ITEXT库。ITEXT是一个开源Java库,专门用于创建和修改PDF文档。使用ITEXT,你可以方便地生成包含文本、...
通过以上步骤,我们可以使用Itext将包含富文本、图片和表格的内容导出为Word文档。虽然Itext主要用于PDF处理,但结合其他库,它也能胜任Word文档的生成任务。在实际项目中,确保正确处理各种边界情况和异常,以提供...