Microsoft® Office Excel 2003
Microsoft Visual Basic® 6.0
Microsoft Office Access 2003
摘要:学习用于使用 XML 文件和 XML 样式表创建带格式的 Excel 工作簿的方法。通过使用 Active Server Pages (ASP) 或 Microsoft Visual Basic 创建的 XML 模板,使您可以灵活地选择创建模板的、且最符合目标要求的方法。
引言
可以使用 Microsoft® Office Excel 2003,以可扩展标记语言 (XML) 格式打开、转换和保存文件。本文回顾了 XML 和 XML 样式表以及如何将其与 Excel 2003 一起使用。除了如何使用 Active Server Pages (ASP) 和 Microsoft Visual Basic® 创建带格式的 Excel 工作簿、如何创建 XML 模板并且此模板在用于 XSL 转换时生成一个可以直接在 Excel 中打开的带格式的工作簿之外,本文还提供了关键词和关键概念的定义。
注意:本文是对 Microsoft 知识库的各种文章的合并和更新。有关详细信息,请在 Microsoft 知识库中搜索词“XML”和“Excel”。
XML 的定义
XML 是一个用于分隔文本数据的简单、标准的方法。它类似于创建任意数据结构并且该结构可以轻松地读取数据,然后将其与在任何其他计算平台上、使用任何语言的任何人共享。因为使用 XML 可以轻松地进行创建和解释,因而它所应用的程序范围很广。XML 很正确,即格式正确;它遵循一组指导原则,这些原则规定数据结构但使 XML 开发人员可以非常灵活、不限数量地创建可以更好地描述数据以及数据中可能存在的关系的自定义标记。
和超文本标记语言 (HTML) 一样,XML 也是一种标记语言,其中文本与一组标记(文字置于尖括号 < 和 > 之中)及属性(格式名称=“值”)组织在一起。然而,HTML 指定每个标记和属性的含义以及应如何提供它以用于显示,而 XML 仅使用标记描述数据元素。因为可以和 XML 一起使用任何标记名称,因而仅由程序决定如何解释数据及其含义。尽管 XML 开发人员可以随意创建适用于其数据的任何标记或层次结构,但是应遵守一组规范以确保 XML 格式正确。

图 1. XML 文档的各部分
构成 XML 文档的语法如下:
| • | 序言。表示 XML 数据的开始,说明字符编码方法并提供 XML 分析器和应用程序的其他信息。序言包括一个可选的 XML 声明、零个或多个注释、处理指令和空格字符。 |
| • | XML 声明。所有的 XML 文档都可以(并应该)使用一个 XML 声明来开始。XML 声明说明有一个 XML 文档并提供版本号。 |
| • | 注释。用于增强文档可读性的可选实体。可以在 <!-- 和 --> 字符之间键入“--”之外的字符。 |
| • | 处理指令。将指令(例如,如何处理元素或其内容)传递给应用程序。 |
| • | 属性。提供用于在元素中包含其他信息的另一种方法。通常情况下,将要显示的大多数信息存储在元素的上下文中。然后,将元素的各种特性(不一定要显示)存储在一个属性中。 |
| • | 文档元素(根元素)。XML 文档中所有其他元素的父元素,意味着它可能没有包含在任何其他元素中。 |
我们已说明了 XML 文档的各部分,构成一个格式正确的文档的特征如下:
| • | 它仅包含一个具有唯一名称的根元素,并且不会出现在文档中的其他任何元素中。 |
| • | 元素正确嵌套以便在元素之间没有任何重叠的标记。 |
| • | 所有元素的标记都是闭合的。 |
| • | 元素的开始和结束标记所用的大小写保持一致(XML 区分大小写)。 |
| • | 所有元素属性都由引号括起来,无论是双引号还是单引号。 |
| • | 特殊字符(例如 &、<、>)都定义为内置实体(&、<、>)。 |
列表 1. 格式正确的 XML 示例 (Dictionary.xml)
<?xml version="1.0" encoding="ISO-8859-1"?><?xml-stylesheet type="text/xsl" href="Dictionary.xsl"?><Dictionary><Entries><Entry><Word Type="1">精力充沛的</Word><Definition>具有、发挥或显示精力</Definition></Entry><Entry><Word Type="1">高兴的</Word><Definition>享受、显示高兴或快乐,或以高兴或快乐为特征</Definition></Entry><Entry><Word Type="2">情绪</Word><Definition>一种复杂、强烈的主观反应</Definition></Entry></Entries></Dictionary>
列表 1 中的 XML 说明了字典中的条目。根元素是 <Dictionary>,并且根元素包含一个名为 <Entries> 的子元素。<Entries> 包含三个子元素,其中每个子元素都描述了字典中单独的一个条目。每个条目有两个子元素:<Word> 和 <Definition>。每个 <Word> 元素的值就是单词本身,<Word>。元素还具有一个 Type 属性,它说明该单击是形容词 (1) 还是名词 (2)。<Definition> 元素具有文本值并且没有属性。
