近期的一个项目需要以Word文件做模板动态生成Doc文件。
原先是使用 VBA 做的,也可以实现,但效果不太满意,一方面是速度比较慢,另一方面是由于客户端环境比较复杂,经常会出现各种错误。
现在的方案基于WordML,结合 xslt ,生成需要的DOC文档。
下面先记录一下模板和XSLT文件的生成步骤:
1. 编辑需要作为模板的Word文档
2. 将Doc文件另存为XML文件,确认没有附加任何 XML 架构
3. 在XML文档中加入需要的标签<tag/>,并使用 XML ToolBox 进行转换
4. 生成 Schema
5. 可以使用文本编辑器,修改 Schema 文件( xsd)
6. 将架构添加到模板Doc中,最终另存为XML文件
7. 生成模板文件的样式XSLT文件:wml2xslt e:\模板1.xml -o e:\模板1.xslt -nsa -nf -v
8.测试:将模板文件另存为只包含数据的XML文件,如 模板1_data.xml,然后用Word打开它,再应用生成的xslt文件,应可以看到所需要的包含数据的格式。
9.编制程序,动态加载XML或DB数据,生成下载文件。
先这样,有时间再整理吧。
列一下参考的文章和需要的工具。
工具:
XML Toolbox for Microsoft Office Word 2003
(注意此工具需要的安装环境:.NET Framework 1.1和 .NET Programmability Support installed during Office 2003 setup)
wml2xslt
文章
:
与 XML 一起使用 Visual Basic 和 ASP 生成 Excel 2003 工作簿
Word 2003 XML:备忘录样式示例
Developing Word XML Using the Microsoft Office Word 2003 XML Toolbox
Using Just Word 2003 (with a little help from Notepad) to develop XML and XSL documents
Creating a Seed Document [Word 2003 XML Reference]
分享到:
相关推荐
在本文中,我们将深入探讨如何在Winform应用中实现基于XML格式的可视化打印模板。首先,我们要明白,Winform是.NET Framework中用于构建桌面应用程序的用户界面框架,而XML是一种可扩展标记语言,常用于存储结构化...
在Word中,XML模板是预先设计好的文档格式,包含了特定的占位符或控件,这些控件与XML数据元素相对应。当导入XML数据时,Word会根据模板中的布局和格式,将数据填充到相应的位置。例如,一个循环标签可以用来处理XML...
XML模板是一种结构化文本文件,用于定义Word文档的布局和格式。开发者可以根据需求创建XML模板,模板中包含了占位符,这些占位符在运行时会被Freemarker引擎用实际的数据替换。 接下来,我们需要创建一个Java类,...
在IT行业中,基于XML模板的Word导出技术是一种常见的数据转换和自动化文档生成方法。这种方法主要应用于需要将结构化数据转换成Word文档的场景,比如报告、合同或发票的批量生成。XML(eXtensible Markup Language)...
### Java读写XML、Word与TXT文件:去除乱码问题详解 #### 一、引言 在实际开发过程中,我们经常需要处理各种类型的文件,包括XML、Word文档以及普通的文本文件(如TXT)。这些文件在读写过程中经常会遇到乱码问题,...
4. **导出为RTF文件**:完成设计后,将Word文档保存为RTF格式,这个文件就可以作为XML Publisher的输入模板。 5. **配置XML Publisher**:在Oracle应用中,你需要配置XML Publisher,指定数据源(如PL/SQL查询、XML...
在Java编程领域,Apache POI库是一个非常实用的工具,它允许开发者读写Microsoft Office格式的文件,包括Word(.doc/.docx)、Excel(.xls/.xlsx)和PowerPoint(.ppt/.pptx)。本示例聚焦于使用POI库根据Word模板...
这个压缩包“Java通过word编辑为xml和ftl格式的模板创建导出word文档 .zip”提供了一个示例项目,用于演示如何使用Java编程语言来操作Word文档,并将其内容转化为XML和FTL(FreeMarker)模板格式。以下将详细介绍这...
首先,我们需要将Word模板转换为XML格式,然后在Access中创建XML数据源。接下来,使用VBA将Access数据导出为XML文件,再将XML文件与Word模板进行数据绑定。这样,Word模板就能根据XML数据动态更新内容。这种方法适合...
1. **创建Word模板**:使用Microsoft Word创建一个模板文件,其中包含固定的格式和需要替换的动态内容。这些动态内容可以是文本、表格或者段落,用特定的标记(如${})作为占位符。 2. **配置Freemarker**:在Java...
Word文件本质上是XML格式的,POI通过HWPF(Horizontally-Writeable and Portable Format)组件提供了对旧版Word 97-2003文档的支持,而XWPF(XML Word Processing Format)则用于处理更现代的OpenXML格式的Word文档...
`FTL`是Freemarker Template Language的缩写,是一种服务器端的模板引擎,常用于生成动态HTML、XML或其他文本格式的文件。 在这个场景下,"Freemarker代码生成器实体映射xml的ftl模板文件"是指利用Freemarker模板...
### Java实现XML文档到Word文档转换的关键技术及实践 #### XML简介与应用 XML(Extensible Markup Language,可扩展标记语言)是一种标记语言,旨在定义一套规则,通过这些规则将文档划分为多个部分并对其进行标记...
Word文档本质上是包含格式化信息的文本数据,XML(可扩展标记语言)则是一种用于描述数据的通用标准格式。将Word文档转换为XML,我们可以更方便地查看和编辑其内部结构,如段落、样式、表格和图像等。这通常通过编程...
同时,为了保证XML的格式化和验证,可以使用`XMLIndentator`进行美化,或者`javax.xml.validation`包下的工具进行XML校验。 总结起来,Java通过模板生成XML并发送报文涉及XML文档对象的创建、元素的构建、模板引擎...
1.用word做一个需要的格式模板,在需要替换的部分用“____”标记,存储为xml格式。 2.用myEclipse打开xml文档把“____”修改为freemarker标记 3.写java程序根据模板生成word 总结,之前在网上查到这个资料怎么...
最后,使用XSLT处理器(如.NET框架中的System.Xml.Xsl.XslCompiledTransform类)将XML数据和XSLT样式表应用到Word模板上,生成最终的Word文档。这个过程完全自动化,不依赖于运行时的Office应用程序,适合批量生成或...
在C#中,我们可以利用NPOI库来操作Word模板文件,实现自动生成各种格式的文档,比如报告、合同等,这在企业信息化和自动化处理文档时非常有用。NPOI库对DOCX格式的支持,使得开发者能够方便地读取、修改和创建这种...
1. **Word模板**:本文中讨论的Word模板是指预先编辑好的一个RTF格式的Word文件,该文件可以包含表格。与普通Word文件相比,它的特殊之处在于文件内部通常会包含一些特定的符号(如:$ 或 &),这些符号标识的部分会...