『Word2007技术』Microsoft Office System 中的 XML 简介

Declawed

您不必了解创建标准格式 XML 的规则,但确实需要记住:只有在 XML
数据采用了标准格式的情况下,才可以在程序和系统之间共享该数据。如果某个
XML 文件无法打开,则该文件很可能不是标准格式的。

注释:Microsoft Office Access 2007 在默认情况下会启用其 XML
工具,因此如果您使用的是 Access,则可以跳过前面的步骤。

关于 Word 中的 XML 文档

适用于: Microsoft Office Word
2003

 注释   除了将文档保存为带 Word XML 架构的 XML,其他的 XML
功能只能在 Microsoft Office Professional Edition 2003 和独立的 Microsoft
Office Word 2003中使用。

图片 1

XML 还不受平台的限制,这意味着,无论硬件或操作系统是什么,为使用 XML
而构建的任何程序都可以读取和处理 XML 数据。例如,利用正确的 XML
标记,就可以使用桌面程序打开和处理大型机中的数据。另外,无论是谁创建了
XML 数据体,您都可以通过若干 Microsoft Office 2003 和 Microsoft Office
专业版 2007 程序(包括 Microsoft Office Access 2007、Microsoft Office
Word 2007、Microsoft Office InfoPath 2007 和 Microsoft Office Excel
2007)处理相同的数据。由于 XML
具有可移植性,它已成为用于在数据库和用户桌面之间交换数据的最受欢迎的技术之一。

相反,如果您打开没有架构的 XML 文件,Excel
将自行推断架构,随后会允许您选择将此数据加载到只读文件中,或将数据映射到
XML 列表(在 Microsoft Office Excel 2003 中)或 XML 表(在 Office Excel
2007 中)中。您可以使用 XML 列表和表对数据进行排序、筛选或计算。

Word 和 XML

Microsoft Word 允许您以两种方式处理 XML 文档:

  • 使用 Word XML 架构     可以在 Word
    中创建一个文档,然后将其保存为 XML 文档。Word 使用它自己的 XML
    架构 (XML 架构:以
    XML 编写的正式规范,定义了 XML
    文档的结构,包括元素名和丰富的数据类型,以及哪些元素要以组合形式出现,每一元素具有哪些属性。))、WordML
    来应用存储信息(例如文件属性)的 XML
    标记,并且定义文档的结构(例如段落、标题和表格)。根据 Word XML
    架构,Word 还使用 XML 标记存储格式和版式信息。
  • 使用任意 XML 架构     可以在 Word
    中创建或打开一个文档,将任意自定义的 XML 架构附加到该文档,并将 XML
    标记应用到文档内容。将文档另保存为 XML 文档时,XML
    标记会根据附加到该文档的 XML 架构定义文档结构。

保存文档时,Word
架构和自定义架构都被默认附加到文档,保留自定义架构定义的数据和 Word XML
架构定义的丰富格式。根据自定义架构,还可以选择仅保存数据。

无论是用内置的 Word XML 架构定义 Word
文档结构,还是附加自己的架构来定义更适合您业务的结构,任何能够分析 XML
的软件都能阅读并处理您保存为 XML 格式(.xml 文件)的文档中的数据。

例如,如果将自定义架构用于简历数据,文档中的 XML
标记将会按照姓名、地址、工作经历、教育等来定义文档结构。保存该文档时,您同时拥有一个打印时看起来很专业的格式丰富的文档,和一个能够被任意可处理
XML 的程序所处理的数据文件。

还可以将 XML 数据存储在保存为 Word 文档 (.doc) 或模板 (.dot)
的文档中。但是,只有 Word 能够读懂或处理该 XML。

Altered

除了使用标准格式的标记数据之外,XML
系统通常还使用其他两种组件:架构和转换。以下部分将介绍这两种组件的工作方式。

启动 Office Access 2007 中的 XML 工具

基础:微软官方的解释XML与Word    

Age

图片 2

1、单击“外部数据”选项卡。 2、请执行下列操作之一:
-在“导入”组中,单击“XML 文件”。 -在“导出”组中,单击“更多”,然后单击“XML
文件”。

『Word2007技术』Microsoft Office System 中的 XML 简介。XSL 转换

打开或保存 XML 文档时,可以应用以特定格式呈现 XML 数据的 XSL 转换
(XSLT) (XSL 转换
(XSLT):一种文件,用于将 XML 文档转换为其他类型的文档,例如 HTML 或
XML。设计本意是作为 XSL
的一部分使用。))
文件。例如,您可能拥有一个将数据显示为规范的
XSLT,和另一个将相同数据显示为部件清单(其中计算了数量和价格)的 XSLT。

图片 3打开文档时应用的
XSLT)

一个 XML 文档可能拥有多个与其关联的
XSLT。如果是这样,则必须选择您希望使用的 XSLT 来显示文档。这是在“XML
文档”
窗格中完成的,该窗格列出了可用的 XSLT(数据视图)。

如果没有与 XML 文档关联的 XSLT,则 Word 会使用其默认 XSLT
或“仅数据视图”打开该文档。

如果文档附加了 Word XML 架构,即使该文档拥有一个与其关联的 XSLT,Word
打开文档时也不会应用该 XSLT。

 注释   可以定义解决方案将 XSLT 与特定类型的 XML
文档关联,而不是手动地应用
XSLT。需要在“架构库”中进行这种关联,可以在“模板和加载项”对话框(“工具”菜单)的“XML
架构”
选项卡上访问“架构库”。

 

图片 4保存文档时应用的
XSLT)

 

 

 

 

实现:

     XML Schema
是用来定义XML的结构文件,可以称之为XSD文件。而在Word及Excel中都支持添加架构文件,这样我们就可以使用XSD定义模板架构,将模板保存成XML格式,在报表生成时可以使用该模板生成相应的报表。

 

首先第一步:生成相应的XSD文件。

    

   
根据面向对象的思想,现大多都是使用三层架构,就算多层其基本也是变,在Model层中有各实例对象若是使用NHibernate、第三方的数据访问层(如动软生成的)、微软的实体框架集等均是可以的。它只是根据实体类生成相应的架构文件。具体操作是:先将实体层在vs环境中生成dll文件,然后在VS的命令提示中输入【xsd 
dll文件的路径】生成成功后,可以看到一个后缀为Xsd的文件路径。

 

第二步:生成模板

     
找到路径下的xsd文件,如果是制作Word文档的模板(本文以Word为例),在新建的doc文件中,工具-模板与加载项-架构-添加架构 
选择刚才生气的xsd文件,填上URL(命名空间)如:
,最好是选上
允许以XML文件保存不论是否有效。这样就可以查看到XML结构,然后在相应的位置插入相应的元素,同时还可以调整格式如:

图片 5

 

完成后将其另存为xml格式文件,这样模板就做好了。

 

第三步:生成报表

这里我使用了一个封闭好了的类,其调用方式

 

图片 6图片 7代码

        lxp.ASC_BusinessReportThingInfo asc = new lxp.ASC_BusinessReportThingInfo(1);//实体类
        asc.Name = "叩亦杰";
        asc.Birthday = DateTime.Now;
//设置类中属性值

        WordReport rt = new WordReport(@"E:Word与Exsel报表学习Wordlxp.xml");//加载模板,Excel时就使用ExcelReport
        rt.InputData(asc);//加入数据
        rt.Save(@"E:Word与Exsel报表学习Word生成的lxp.doc");//保存

 

 

这样用户可自定生成的报表基本实现。

Breed

您可能听 IT 部门的人员说过“标准格式”的 XML。标准格式的 XML
文件遵循一组管理 XML 的、非常严格的规则。如果文件不遵循这些规则,XML
就会停止运行。例如,在上面的代码示例中,每一个开始标记都有对应的结束标记,因此该示例遵循一种标准格式的规则。如果您删除一个标记,然后尝试在一个
Office
程序中打开该文件,您将会看到一条错误消息,并且该程序会阻止您使用该文件。

启动 Office Excel 2007 和 Office Word 2007 中的 XML 工具

 

数据文件、架构和转换组成基本的 XML
系统。下图显示了这种系统通常是如何工作的。数据文件先根据架构进行验证,然后通过转换以任意可用方式呈现。在本例中,转换向网页中的表部署数据。

-无论在哪个程序中,请在“开发工具”选项卡上单击“XML”组中的任何可用命令。

XML 标记

将自定义 XML 架构附加到文档时,“XML
结构”
任务窗格将提供该架构中定义的元素的一个列表。选择文档内容,然后从该列表中选择一个元素,可以将
XML 标记应用到文档。如果架构定义了某个元素的属性,还可以在“XML
结构”
任务窗格中指定这些属性。

 注释   可以为一个文档附加多个架构。来自所有附加架构的元素会在“XML
结构”
任务窗格的元素列表中列出。

窗格上的复选框允许您在文档上下文中查看内嵌的 XML 标记。

如果文档结构不符合架构规则,将会在文档中以紫色波浪线标记出来,并在“XML
结构”
任务窗格中报告此违规错误。

如前所述,XML
还可以提供使用或重复使用数据的强大功能。重复利用数据的机制称为可扩展样式表语言转换
,或简称为转换。转换是 XML
的真正优点所在。例如,在根据架构验证数据文件之后,您可以应用一种转换使数据在
Microsoft Office Word 2003
中以市场宣传册的形式出现,然后应用另一种转换在 Office Excel 2007
中创建销售报表。

1、在 Excel 或 Word 中,单击“Office
按钮”图片 8,然后单击“Excel
选项”或“Word 选项”,具体取决于所打开的程序。 2、单击“个性化”。
3、在“使用应用程序名称
时采用的首选项”下,选择“在功能区显示‘开发工具’选项卡”,然后单击“确定”。

为什么使用 XML?

可扩展标记语言 (XML) (可扩展标记语言
(XML):标准标记语言 (SGML)
的一种浓缩形式,开发人员可用其创建自定义标签,为整理和提供信息提供了灵活性。))
使您能够以以前不可能或很难实现的方式组织和处理文档和数据。使用自定义 XML
架构,可以从普通商业文档中识别并提取出特定的商业数据片段。

例如,一张包含客户姓名和地址的支票,或者一份包含上季度财务结果的报表都不再是静态文档。它们包含的信息可以被传送到一个数据库或在文档外部的其他地方重用。

将 Microsoft Word 文档以标准 XML
格式保存的能力有助于将内容从文档范畴中分离出来。内容可用于自动化数据采集和用途变更过程。内容能够很容易地被搜索到,甚至被
Word 以外的其他进程所修改,例如基于服务器的数据处理。

因为 Word 能够将其文档表示为
XML,通过将来自各种源的数据放在一起,自动化的基于服务器的进程可以在运行中生成
Word
文档。这样的文档能够很容易地定期更新,排除了相关数据的手动搜索和不必要的重新键入。

下面的代码示例显示编写转换的一种方法。它将
数据加载到网页上的表中。再次声明一下,这里的示例并不是教您如何编写转换,而是向您展示一种转换形式。

Office 专业版 2007 和 Microsoft Office 2003 都提供相同的 XML 工具集。在
Office 专业版 2007 中,必须先启用 XML
支持,然后从不同的位置启动这些工具。不过,在启动这些工具后,它们在
Microsoft Office 2003 和 Office 专业版 2007
中的工作方式相同。以下步骤介绍如何启动 Office Excel 2007 和 Office Word
2007 的 XML 工具。

License

注释:功能区是 Microsoft Office Fluent 用户界面的一部分。

使所有此类工作更为方便的是:Microsoft
和日益增多的其他供应商正创建应用于各种任务的转换。不久的将来,您可以下载符合需要的转换,也可以调整转换以满足需要。这意味着,XML
的使用成本将随时间的推移而逐渐降低。

目前为止没什么问题,但是,如果 XML 数据没有架构会怎么样呢?支持 XML 的
Office 程序有办法帮助您处理数据。例如,如果您在 Word
中打开没有附加架构的 XML 文件,Word
将同时显示标记和数据,并允许您在文件创建者或 IT
部门提供转换的情况下应用转换。至少,您可以查看文件中的标记和数据。

 Name

启用 Office Excel 2007 和 Office Word 2007 中的 XML 工具

您还可以使用转换在数据库等后端系统之间交换数据。例如,假设数据库 A
在适用于销售部门的表结构中存储销售数据。数据库 B
在适用于财务部门的表结构中存储收入和支出数据。数据库 B 可以通过转换接受
A 中的数据,并将该数据写至正确的表中。

-Office Excel 2007、Office Word 2007 和 Office PowerPoint 2007 都使用
XML 作为默认文件格式,此更改具有多种优点。 -较小的文件大小。与 Office
早期版本中使用的二进制格式相比,新格式使用 ZIP
和其他压缩技术使文件大小减少 75%。
-简化了信息恢复过程并具有更强的安全性。XML
是用户可读的,因此如果文件已损坏,您可以在 Microsoft
记事本或其他文本阅读器中打开该文件,然后至少可以恢复一些信息。另外,新文件会更安全,因为它们不能包含
Visual Basic for Applications 代码。如果您使用新格式创建模板,则所有
ActiveX 控件和 VBA
宏都驻留在文件中的单独且更安全的部分中。另外,您还可以使用文档检查器等工具删除所有个人数据。有关使用文档检查器的详细信息,请参阅从
Office 文档中删除隐藏数据和个人信息一文。 -更强的可移植性和灵活性。由于
XML
以文本格式而不是专用的二进制格式存储数据,因此客户可以定义他们自己的架构并以多种方式使用您的数据而无须支付版税。有关新格式的详细信息,请参阅开放式
XML 文件格式简介。 -每个 Office 程序都附带不同的工具集。您在 Word
中使用的用户界面和过程与您在 Excel 或 PowerPoint
中使用的用户界面和过程不同。这是为什么?因为适用于 Word
的功能不一定适用于 Excel,等等。 -只要 XML 是标准格式的,Office
程序就可以使用其他供应商的架构、转换和数据。 -某些 Office 程序在后台使用
XML,而某些程序(如 Microsoft Office OneNote™)根本不支持 XML。了解
Office 程序如何支持 XML 的最好方法是启动相应程序的联机帮助,并搜索 XML。

Owner

Microsoft Office 2003 和 2007 Office 发布版的专业版都提供强大的 XML
支持。

此示例显示一种转换类型的编码形式,但是请记住,您只能用简单的英文描述您想要从数据中获得什么。例如,您可以对
IT
部门说您需要打印特定区域过去两年的销售数据,并指出“我希望数据的外观是这样的”。这样,IT
部门就可以编写一个可执行该任务的转换。