`
妮子321
  • 浏览: 82108 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

pageoffice动态生成WORD文件

阅读更多

PageOffice 组件提供的接口和对象都简洁高效,开发效率很高。不仅支持从一个空白的Word生成文件,还可以对现有的word模板做数据填充,还可以把多个word模板插入到一个word模板中不同的位置来组合生成文件,比如做一个试卷生成系统,甚至还可以插入图片和Excel文件到word模板中的指定位置去生成一个复合型的文档报表,功能异常强大。下面列举几个生成文件的效果代码:

  1. 从空白生成文件的代码:
    WordDocument doc = new WordDocument();
    
	//设置内容标题
    //创建DataRegion对象,PO_title为自动添加的书签名称,书签名称需以“PO_”为前缀,切书签名称不能重复
    //三个参数分别为要新插入书签的名称、新书签的插入位置、相关联的书签名称(“[home]”代表Word文档的页首)
    DataRegion title = doc.createDataRegion("PO_title", DataRegionInsertType.After, "[home]");
    //给DataRegion对象赋值
    title.setValue("JAVA中编程实例\n");
    //设置字体:粗细、大小、字体名称、是否是斜体
    title.getFont().setBold(true);
    title.getFont().setSize(20);
    title.getFont().setName("黑体");
    title.getFont().setItalic(false);
    //定义段落对象
    ParagraphFormat titlePara = title.getParagraphFormat();
    //设置段落对齐方式
    titlePara.setAlignment(WdParagraphAlignment.wdAlignParagraphCenter);
    //设置段落行间距
    titlePara.setLineSpacingRule(WdLineSpacing.wdLineSpaceMultiple);

	//设置内容
    //第一段
    //创建DataRegion对象,PO_body为自动添加的书签名称
    DataRegion body = doc.createDataRegion("PO_body", DataRegionInsertType.After, "PO_title");
    //设置字体:粗细、是否是斜体、大小、字体名称、字体颜色
    body.getFont().setBold(true);
    body.getFont().setItalic(true);
    body.getFont().setSize(10);
    //设置中文字体名称
    body.getFont().setName("楷体");
    //设置英文字体名称
    body.getFont().setNameAscii("Times New Roman");
    body.getFont().setColor(Color.red);
    //给DataRegion对象赋值
    body.setValue("首先,我向大家介绍一下套接字的概念。\n");
    //创建ParagraphFormat对象
    ParagraphFormat bodyPara = body.getParagraphFormat();
    //设置段落的行间距、对齐方式、首行缩进
    bodyPara.setLineSpacingRule(WdLineSpacing.wdLineSpaceAtLeast);
    bodyPara.setAlignment(WdParagraphAlignment.wdAlignParagraphLeft);
    bodyPara.setFirstLineIndent(21);
  1. 在一个word模板的文件中插入一个图片、word和Excel文档的代码:
    WordDocument doc = new WordDocument();
	//插入图片
    // PO_body3是word模板中已存在的一个书签
    DataRegion body4 = doc.createDataRegion("PO_body4", DataRegionInsertType.After, "PO_body3");
    body4.setValue("[image]doc/logo.png[/image]");
    //嵌入其他Word文件
    //body4.Value = "[word]doc/1.doc[/word]";
    //嵌入其他Excel文件
    //body4.Value = "[excel]doc/1.xls[/excel]";
    ParagraphFormat bodyPara4 = body4.getParagraphFormat();
    bodyPara4.setAlignment(WdParagraphAlignment.wdAlignParagraphCenter);
  1. 操作word中的表格代码:
    WordDocument doc = new WordDocument();
	//打开数据区域
	DataRegion dataRegion = doc.openDataRegion("PO_regTable");
	//打开table,openTable(index)方法中的index代表Word文档中table位置的索引,从1开始
	Table table = dataRegion.openTable(1);
	//给table中的单元格赋值, openCellRC(int,int)中的参数分别代表第几行、第几列,从1开始
	table.openCellRC(3, 1).setValue("A公司");
	table.openCellRC(3, 2).setValue("开发部");
	table.openCellRC(3, 3).setValue("李清");
	//插入一行,insertRowAfter方法中的参数代表第几行,从1开始
	table.insertRowAfter(3);
	table.openCellRC(4, 1).setValue("B公司");
	table.openCellRC(4, 2).setValue("销售部");
	table.openCellRC(4, 3).setValue("张三");
  1. 给word添加一个水印,对于实现这个效果来说,PageOffice确实已经做到简单到极致,如果用iText那个方案,需要写至少十几行代码吧(由于篇幅的限制,这里就不写了,有兴趣的话可以网上搜索一下相关的资料),但 PageOffice的代码只用下面一句:
    WordDocument doc =new WordDocument();
    //添加水印 ,设置水印的内容
    doc.getWaterMark().setText("北京某某公司");

优点有以下几点:不限制于Windows平台;接口和对象的设计就是针对Office文件生成专门优化设计的,代码写起来比较舒服可读性强;编程的工作量更小,如果开发中也利用了Word模板,那开发量可以更低;生成的文件是地地道道的Word格式,生成的文件效果比较完美;也不需要像POI那样必须对doc和docx格式分别写代码;最后一点:服务器端不需要安装Office,不使用服务器端资源,所以不需要处理服务器端文件生成时的并发问题,也就是很多用户同时访问系统生成文件时服务器的压力问题。请注意这点,采用这个方案的话,文件是在客户端生成的,调用的是客户端的资源,完全符合分布式计算的思想。

分享到:
评论

相关推荐

    JAVA用PageOffice动态导出Word文档

    本文档主要介绍了如何使用 PageOffice 在 JAVA 中动态导出 Word 文档,实现动态生成 Word 文档的功能。该功能可以应用于软件开发中,例如生成正式文件、报告、协议等。 PageOffice 是一个功能强大且灵活的office...

    PageOffice 批量生成Word文件

    本示例主要讲解如何利用PageOffice的FileMaker控件来批量生成Word文件,这对于需要大批量创建Word文档的场景非常有用,比如报告生成、数据导出等。 首先,我们要了解PageOffice的核心组件——FileMaker。FileMaker...

    java调用PageOffice生成word

    Java调用PageOffice生成Word是一项常见的技术应用,主要用于在服务器端动态创建和编辑Microsoft Office文档。PageOffice是一款专为Java设计的Office文档处理组件,它提供了丰富的API接口,使得开发者可以方便地在...

    PageOffice Java 动态填充Word模版

    以生成工资条为例,演示了通过PageOffice开发平台,用Java语言实现Word文档的在线打开、编辑和保存,数据区域数据的动态填充和提交,数据区域插入Word文件,动态填充和提交Word文件中Tabel的数据

    PageOffice Java开发 实现Word文件的批量生成

    总之,通过PageOffice和FileMaker标签控件,Java开发者可以轻松地实现在Web环境中批量生成Word文档,提高办公自动化效率,同时降低系统维护成本。掌握这一技术对于提升企业内部文档处理能力具有显著的价值。

    用PageOffice实现批量转换导出Word文档.pdf

    本文主要介绍如何使用PageOffice控件在C# ASP.NET环境下批量转换和导出Word文档。PageOffice是一款强大的在线编辑Office文档的组件,它提供了方便的API和控件,使得在Web应用中处理Office文档变得简单。 1. **Page...

    JAVA不使用POI,用PageOffice动态导出Word文档[参考].pdf

    在这个场景下,我们不再依赖POI,而是利用PageOffice的动态填充和创建功能来生成Word文档。 首先,要使用PageOffice,你需要在服务器端进行必要的配置。这包括安装PageOffice的服务器端程序,并在Web项目的"WebRoot...

    pageOffice批量生成word

    按照操作文档操作即可

    Java编程生成word文件设置字体段落格式

    Java对PageOffice编程,从空白的word模板动态生成word文件,填充文本内容、图片,同时设置文本的字体、段落、格式。 PageOffice是标准Java组件,标准JSP Tag标签方式引用,完美支持Eclipse、MyEclipse等开发工具。 ...

    PageOffice C# 动态填充Word模版生成正式Word文件

    在本项目中,我们将重点讨论如何使用PageOffice的FileMaker控件来动态填充Word模板并生成正式的Word文件。 首先,了解PageOffice的核心概念是至关重要的。PageOffice主要由服务器端组件和服务、客户端控件和...

    C# 自动生成word文档

    在C#编程环境中,生成Word文档是一项常见的任务,尤其在数据报告、自动化文档生成或企业应用中。利用Microsoft Office Interop库或者第三方库,我们可以轻松地实现这一功能。以下将详细讲解如何使用C#来创建包含页眉...

    Java根据word 模板,生成自定义内容的word 文件

    4. **生成Word文件**:使用Apache POI,打开Word模板文件,然后遍历模板中的每一段内容,如果遇到Freemarker的占位符,就用数据模型中的对应值替换。完成后,保存生成的Word文件。 5. **处理复杂结构**:在某些情况...

    PageOffice_ASP.NET通过Word模版 动态生成工资条

    以生成工资条为例,演示了通过PageOffice开发平台下的PageOffice标签控件,实现Word文档的在线打开和编辑保存,数据区域数据的动态填充和提交,数据区域插入Word文件,在插入的Word文件的Tabel中填充数据和提交数据

    ASP.NET(c#) 从零动态生成Word文件(用程序设置文本段落格式、填充数据)

    使用的是PageOffice,除了提供Word/Excel动态数据填充,格式控制,Word/Excel用户输入提交,Word/Excel/PowerPoint/WPS等Office文档的在线打开、只读浏览、编辑、保存等功能外,还给在线协同办公内置了强大的支持...

    freemarker模板技术生成复杂word文档---解决了编码问题

    总结,之前在网上查到这个资料怎么调试都失败,后来经过反复查找发现是编码问题导致生成word格式错误,已经修正,希望能给大家带来帮助。 效率测试生成100000行数据大概4000毫秒左右 完整程序代码已经上传! 关于...

    pageoffice专用(wordparser+posetup)

    总之,"pageoffice专用(wordparser+posetup)"压缩包提供了PageOffice的核心组件,使得开发者能够在Web环境中实现强大的文档处理功能,无论是文档预览、编辑还是在线生成,都能提供高效且安全的解决方案。...

    Java项目中利用Freemarker模板引擎导出--生成Word文档

    基于Java语言来导出Word文档的方式也有很多种,如Jacob,Apache POI,Freemarker,PageOffice,java2word 等等。。。。 在这里将通过Freemarker这个模板引擎来实现导出 Word,项目不限于Swing,SSH,SSM,Spring ...

    POI读取excel,利用Freemarker建立word模板(带图片),生成word文档,再合并成一个word文档(源码)

    Java语言利用POI读取excel文档,利用Freemarker建立word模板(带图片),excel每一行数据生成单个word文档,再利用POI合并成一个word文档(源码); 博客地址:...

    asp.net 生成WORD 文件

    在ASP.NET中生成Word文件是一项常见的任务,尤其在企业级应用中,比如报告生成、文档自动化等场景。本文将深入探讨如何使用ASP.NET创建包含页眉、内容、图片和表格的Word文档,并通过示例代码解析整个过程。 首先,...

    C#生成word文档

    C#生成Word文档是一种常见的需求,特别是在自动化报告生成、数据导出或系统集成等场景中。C#通过使用Microsoft Office Interop库可以方便地与Word应用程序进行交互,从而创建、编辑和格式化Word文档。以下是关于C#...

Global site tag (gtag.js) - Google Analytics