单元格内的可扩充值类型的制作方法

文档序号:6569952阅读:134来源:国知局
专利名称:单元格内的可扩充值类型的制作方法
单元格内的可扩充值类型
背景
电子数据表软件应用程序可由各种不同的用户用来操控数据。典型的电 子数据表应用程序通过按照行和列捕捉、显示和操控数据来模拟物理数据表。 行列交汇处是单元格。电子数据表内的单元格可以包含诸如数字、字符串和 出错的值。此外,单元格还含有能对其他单元格内的值操作并显示结果的公 式。这些公式让用户能够创建计算和商务逻辑以帮助他们使用数据。
然而,当今的电子数据表仍限于电子数据表能够捕捉或操控的数据或信 息类型。例如,当前电子数据表能够将通货显示为美元符号后跟数字,或者 显示为英镑符号后跟数字,但是不能指定如何在不同于数值的数学公式中操 控这些通货值。于是,在对数据执行操作时,电子数据表就无法通知用户逻 辑上的不一致性,例如当用户用英镑和美元相加时。
在其它情况下,用户希望对更复杂的数据类型执行操作。当前只可以使 用电子数据表内的多个单元格和公式。
在另外的一组情况下,用户希望在电子数据表内对任意数据类型执行操 作,这些数据类型不可化简为含有更简单数据类型的多个单元格。在这些情
况下,电子数据表无法包含特定类型的数据,例如图片或COM对象,从而 不能对其进行操作及由公式传递;电子数据表也不具备可扩充性,于是开发 人员也就不能针对这些任意值类型来创建新函数。
由此,电子数据表在其允许的数据类型方面只提供有限的功能性。

发明内容
提供本概述以便以简化形式介绍将在以下的详细描述中进一步描述的一 些概念。本概述并不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定要求保护的主题的范围。
电子数据表内的单个单元格可以包含由可扩充值类型定义的可扩充值。 可扩充值类型是并入电子数据表并由电子数据表作为其他数据类型支持的用 户定义的值类型。总之,可扩充值类型提供了对不是由电子数据表内部定义 的类型的支持。例如,可扩充值类型可以包括但不限于矩阵可扩充值类型; 向量可扩充值类型;财务收益率曲线可扩充值类型;图片可扩充值类型;复 数可扩充值类型;有单位数字可扩充值类型等。当可扩充值类型由用户定义 时,用户还可以开发对该类型进行操作的一组关联函数。这些函数可以添加 至由电子数据表支持的基础函数组。因此,这些函数以基本类似于电子数据 表基础函数组的方式工作。换句话说,单元格内所包含的可扩充值可以按与 受支持基础类型相同的方式而被作用。可扩充值类型还可以定义如何将可扩 充值看做是内建值,使得电子数据表的基础函数可作用于该可扩充值。
附图简述


图1示出了一计算机的示例性计算体系结构;
图2示出了与可扩充值交互的电子数据表系统的概观;
图3示出了用于将可扩充值类型及其关联函数添加至电子数据表的过
程;
图4示出了用于在电子数据表内使用可扩充值类型的过程;以及 图5根据本发明的各方面示出了可扩充值的显示、査看和编辑。
详细描述
现在参考其中相似的数字代表相似的元素的附图,描述本发明的各种方 面。具体地,图1和相应的讨论旨在提供对在其中可以实现本发明实施例的 合适计算环境的简要描述。
一般而言,程序模块包括例程、程序、组件、数据结构和其它类型的结 构,它们执行特定的任务或者实现特定的抽象数据类型。也可使用其它计算 机系统配置,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型机、大型机等等。也可使用分布式计算环境,其中任务由通 过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可被 置于本地或远程的存储器设备中。贯穿说明书和权利要求书,下列术语采用与此处显式相关联的含义,除 非该术语在其他地方另有清楚指示。术语"单元格"是在电子数据表的矩形网格线内的位置。单元格可以包 含诸如以下信息公式或文字值;由公式计算的(如果有的话)值(可以是 基础的或可扩充的);元数据,或者单元格特性,诸如格式化单元格本身 的信息(单元格背景、边框等);格式化单元格的值的信息(字体、粗体、 数字格式等);数据确认;和保护。术语"值"指的是由公式计算的值。值可以是位于单元格中的值,但也 可以是公式中的中间值,因此没有关联单元格。值可以是由电子数据表本身 定义的"基础值",诸如数字、文本字符串、出错值、数组;或者可以是 由用户定义的"可扩充值"。值可以不具有与其相关联的格式化信息。术语"MDX"指的是多维表达式(MultiDimensional expressions)语言。术语"立方体"指的是可从中检索数据的多维OLAP数据库。术语"成 员"是沿着立方体中一个维度的值。术语"元组"是立方体中一个或多个成员的交汇处,其中每个维度有一 个成员。元组表示包括了指定成员的立方体片。简言之,电子数据表内的单元格可以包含可扩充值数据类型的可扩充值。 在各独立单元格内存储可扩充值的能力使电子数据表程序能够以作用于受支 持基础值相同的方式作用于可扩充值。例如,假设图片已被定义为可扩充值 类型,于是就可将图片值包括在一个或多个单元格内并且使用电子数据表的 基础函数和/或创建用来操作图片的函数来对其进行作用。可扩充值的范围可 以包括从易于包含在单元格内的值到需要大量存储且可能无法在单元格内轻 易示出的值。易于包含在单元格内的值可以是诸如带单位的数字、带通货的 数字、MDX成员等的值。可能无法在单元格内轻易包含的值可以是诸如收益 率曲线、图片、数组、数据库相关等的值。现参考图1,将描述在各实施例中利用的计算机2的示例性计算机体系 结构。图1中示出的计算机体系结构可以按各种不同的方式配置。例如,计算机可被配置为服务器、个人计算机、移动计算机等。如图所示,计算机2 中央处理单元5(CPU)、包括随机存取存储器9(RAM)和只读存储器(ROM) 11的系统存储器7、以及将存储器耦合至CPU 5的系统总线12。基本输入/ 输出系统包含如在启动过程中帮助在计算机中的元件之间传输信息的基本例 程,并储存在ROM 11中。计算机2还包括大容量存储设备14,用于存储 操作系统16、应用程序和其他程序模块,这将在以下更为详尽地描述。大容量存储设备14通过连接至总线12的大容量存储控制器(未示出) 与CPU 5相连接。大容量存储设备14及其关联计算机可读介质为计算机2 提供非易失性存储。虽然将在此处包含的计算机可读介质的描述针对诸如硬 盘或CD-ROM驱动器的大容量存储设备,但是计算机可读介质可以是能够由 计算机2访问的任何可用介质。作为示例,而非限制,计算机可读介质可以包括计算机存储介质和通信 介质。计算机存储介质包括易失性和非易失性、可移动和不可移动介质,它 们以任意方法或技术实现,用于存储诸如计算机可读指令、数据结构、程序 模块或其它数据之类的信息。计算机存储介质包括,但不限于,RAM、 ROM、 EPROM、 EEPROM、闪存或其它固态存储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、 或能用于存储所需信息且可以由计算设备2访问的任何其它介质。根据各实施例,计算机2可以在使用通过诸如因特网的网络18与远程计 算机的逻辑连接的联网环境中操作。计算机2可以通过连接至总线12的网络 接口单元20与网络18相连。网络接口单元20也可用于连接其他类型的网络 和远程计算机系统。计算机2还可以包括输入/输出控制器22,用于接收并处理来自诸如以下 多个设备的输入键盘、鼠标、电子输入笔等。类似地,输入/输出控制器22 可以为显示屏、打印机或某些类型的设备(未示出)提供输出。如前简述的那样,多个程序模块和数据文件可以存储在计算机2的大容量存储设备14和RAM 9内,包括适于控制联网计算机操作的操作系统16, 诸如来自微软公司的WINDOWS XP操作系统;UNIX; LINUX等。大容 量存储设备14和RAM 9还可以存储一个或多个程序模块。更具体地,大容 量存储设备14和RAM 9可以存储电子数据表应用程序10,诸如MICROSOFT EXCEL电子数据表应用程序。根据一个实施例,电子数据表应用程序10用 于提供与其值被输入电子数据表应用程序10的一个或多个单元格的可扩充值类型交互的功能性。电子数据表io被配置为操作任何可扩充值类型就好像这些可扩充值是受支持的基础类型之一的单值一样。电子数据表应用程序IO被配置为接收用户输入。例如,用户经由图形用 户界面将项目数据输入电子数据表。用户输入可以是单值,可扩充值、项目 值、项目元数据、函数信息、立方体函数信息或其他数据。用户输入可以是 由用户键入、粘贴或将数据输入电子数据表的其他预设动作创建的直接输入, 或者可以是由另一程序生成的间接输入。计算引擎26执行与电子数据表内各单元格相关的操作。根据一个实施 例,计算引擎26是电子数据表应用程序10内的一个组件。然而,计算引擎 26也可以位于电子数据表应用程序10外部。由计算引擎26执行的操作可以 是数学的,诸如加、除、乘和可扩充值的计算等,也可以包括其他的函数或 特征,诸如与多维数据存储交互。计算引擎26可被配置为执行许多不同的操 作。电子数据表应用程序10示出了包括电子数据表116的示例性电子数据表 窗口 104。电子数据表116可以通过交叉行(诸如,行7 118)和列(诸如, 列C120)来形成。交叉的行和列形成单元格,诸如单元格C7 122,而该单元 格可以通过其相应的的列和行来标识,例如,在列C 120和行7 118内的单元 格C7 122。如图所示,电子数据表116有三列九行。然而,电子数据表116 可以包括如由滚动条124和126所表示的更多的行和列。电子数据表程序10 还包括用户界面元素用以与可扩充值类型交互。例如,下拉菜单140示出了 用于添加(add)可扩充值(extensible value)142和编辑(edit)可扩充值144的菜 单。根据另一个实施例,用户可以选择诸如下拉菜单的另一个UI元素,以便从一可用的可扩充数据类型列表中选择用于帮助填充单元格和/或公式的类型。如图所示,电子数据表包括的单元格含有标准单元格值,诸如文本124 和136;以及可扩充值,诸如单元格A3-A5中的货币值(美元,American Dollars;英镑,British Pounds)、单元格A8中的图片值164和单元格B8中 的收益率曲线值160。可扩充值可能无法总是能够在电子数据表的单元格内 完整显示。例如,包括许多值的可扩充值可能就无法在单个单元格内完整显 示。由此,当定义可扩充值类型时,可以包括DisplayYourself()(显示你自己) 定义,用来定义将如何在单元格内显示该可扩充值类型。在当前的示例中, 货币值用其货币符号显示,图片被显示为ICON (图标),收益率曲线则显示 为包括在单元格内的该收益率曲线的小型表示。除了定义如何在单元格内显 示可扩充值之外,可扩充值定义还包括PopUpViewer()(弹出查看器)定义, 用来定义如何整体查看并编辑可扩充值。根据一个实施例,当所选的可扩充 值不是由公式计算的值时,就可以显示用于査看并编辑可扩充值的査看器。 作为替换,当显示的可扩充值由公式计算并且用户编辑该可扩充值时,随后 该可扩充值就变为一恒定值。根据另一个实施例,由公式计算的任何可扩充 值都可以在査看器内查看但不被编辑。查看器可以是专门为该可扩充值开发 的自定义查看器,或者该查看器可以是对可扩充值类型进行操作的第三方产 品。例如,査看器在可扩充值是图片的情况下可以是支持标准图像类型的已 开发的图形程序。类似地,当可扩充值包括XML时,查看器可以是标准的 XML编辑器。单元格是电子数据表内的显示和容器两者。由此,每个单元格都能够显 示一项目并包含该项目。在当前示例中,已经定义货币可扩充值类型来作用 于各种通货,诸如英镑和美元通货。货币可扩充值类型定义连同对由该货币 可扩充值类型定义的货币值进行操作的函数28 —并存储在数据类型表格28 内。函数和数据类型表格28还包括已由电子数据表支持的函数和数据类型, 这包括所有的标准基础函数。根据一个实施例,标准操作符可由可扩充值类 型函数覆盖。在当前示例中,加法"+"操作符被覆盖以使其可用于将两个货 币可扩充值相加。例如,单元格A3 128显示项目"$5.00",这表示单元格A3 128所包含 的货币值。单元格A4 130显示货币值"£10.00"而单元格A5显示货币值 "S23.82"。单元格A4 130包括具有在该单元格内示出的表示所显示的"£10.00" 的货币值的项目。与单元格A3 128和A4 130相反,单元格A5 132包括公式 项"-A3+A4",以指令电子数据表计算单元格A3内所包含的货币值和单元格 A4内所包含的货币值之和并且将结果返回并显示在单元格A5内。如图所示, 函数138是结合可扩充值类型定义开发的函数,它使用加法"+ "操作符将两 个货币可扩充值相加以生成以美元为单位的结果。为执行通货的加法,无需 元数据来执行计算和产生结果。可扩充值是一个值而不仅是对其他单元格的 引用。在各实施例中,各单元格内的项目是由各种用户输入到电子数据表中 的,诸如用户手动键入该值或者用户将该值复制粘贴到单元格中。图2根据本发明各方面示出了与可扩充值交互的电子数据表系统200的 概观。客户206包括电子数据表应用程序208。电子数据表应用程序208包 括电子数据表单元格210。 一般地,由黑色边框突出显示的活动单元格212 是电子数据表内当前正被作用的单元格。例如,用户正将可扩充值输入单元 格。零个或者更多的电子数据表单元格可以包含己被定义的可扩充值类型的可扩充值,并且包括对该可扩充值类型进行操作的至少一个函数。可扩充值 可以按与电子数据表基础类型相比基本上类似的方式而被作用,上述基础类 型诸如字符串;数字;出错等。一般而言,用户在电子数据表208内的一个或多个单元格中输入可扩充 值。诸如函数210的函数可以包括在一个或多个单元格内以作用于可扩充值。 例如,电子数据表208内可以包括支持一可扩充值类型的函数210。电子数 据表内包含可扩充值的单元格可以像该电子数据表内包含单值的任何其他单 元格一样工作。可扩充值是真实的值。换句话说,无需访问元数据来确定该 值,也无需引用另一单元格来获取该值。电子数据表应用程序存储并操控诸如电子数据表208的电子数据表内的 项目。在一个实施例中,电子数据表应用程序在电子数据表数据存储222内 存储电子数据表数据208。电子数据表数据存储222在某些实施例中是单元格表格。计算引擎220如上所述是与电子数据表应用程序相关联的能够执行操作 的组件。操作可以是数学的,诸如加、除、乘等,也可以包括其他的函数或特征,诸如MICROSOFTPIVOTTABLE (微软数据透视表)动态视图特征。 计算引擎220被配置为以与受支持的基础值相同的方式处理可扩充值。由此, 就可以在函数表224内存储与该电子数据表应用程序相关联的每个函数。根 据一个实施例,可以在电子数据表内操控数据的各个函数都位于包括了基础 函数在内的函数表224内。作为替换,函数可以在各存储中分开存储。函数 表224可以包括数据类型表,该数据类型表包括所支持数据类型列表,其中 既包括基础数据类型又包括定义的可扩充数据类型。如图所示,系统200还可以包括耦合至客户206的服务器202。除了其 他使用,服务器202尤其可被配置为存储多维数据库。诸如OLAP数据库。 在电子数据表应用程序和OLAP数据库204之间的通信可以使用MDX完成。 服务器202也可被配置为存储与包含在电子数据表内的一个或多个可扩充值 相关联的其他数据。图3和4示出了与单元格内的可扩充值类型相交互的过程。当阅读对在此提供的例程的讨论时,应当了解,各种实施例的逻辑操作 是作为(l)运行于计算机系统上的一系列计算机实现的动作或程序模块,以及/ 或者(2)计算机系统内互连的机器逻辑电路或电路模块来实现的。该实现是取 决于实现本发明的计算机系统的性能要求来选择的。因此,所例示的并且构 成在此所述的实施例的逻辑操作被不同地表示为操作、结构性设备、动作或 模块。这些操作、结构性设备、动作和模块可用软件、固件、专用数字逻辑 以及它们的任何组合来实现。图3示出了用于将可扩充值类型及其关联函数添加至电子数据表的过程。在开始操作之后,该过程移至操作310,其中定义了可扩充值类型。可 扩充值类型可以是未受包括在电子数据表应用程序的基础类型支持的几乎任 何值类型。例如,经济学家或者财务顾问可以定义关于收益率曲线的可扩充值类型以及对收益率曲线(收益率曲线数据类型的值)执行操作的函数。数 学家可以定义关于复数、矩阵、向量等的可扩充值类型,并且扩充电子数据 表的数学函数以对这些新的数据类型进行正确操作。银行家可以定义用于不 同货币单位(参见上述示例)的可扩充值类型。图形程序员可以定义图片数据类型以及用于对图片执行操作的函数。程序员可以定义与XML —并工作的 可扩充值类型XML节点、XML数的一部分、或者X路径查询(XPath Query) 语句以及对这些进行的操作。可扩充值类型还可被定义与OLAP立方体数据 一并工作。例如,可扩充值类型可以被定义用于MDX成员、KPI指示符、元 组、集合等。也可以定义许多其他的值类型。可以看出可扩充值类型的可能 列表是无限的。移至操作320,开发函数以操控该可扩充值类型的可扩充值。操控可扩 充值的函数可以用许多不同的编程语言来开发。例如,可以使用Visual Basic、 C或C^来开发函数。 一般而言,可以开发任何数量的函数来与可扩充值交互。 根据一个实施例,函数可以覆盖基础操作符,诸如+、 -、 /、 *和&操作符,使 得可扩充值能够利用这些操作符。例如,加"+ "操作符可被覆盖用以将两个 或多个可扩充值相加。另一个示例可以是覆盖减"-"操作符用以从一个可扩 充值中减去另一个可扩充值。例如,假设定义一可扩充值类型来操控复数。可被定义用来操控复数可 扩充值的函数之一可以是加法操作,诸如(3+2i) + (4-li)的结果是(7+i)。类 似地,假设定义一可扩充值类型用以带单位的数字,使得3111/8*53将得到结 果15m。可以看出,可扩充值是一个值,并且可以是中间子公式的结果,而 根本不与单元格相关联。表示电子数据表内的值可以通过被称为OPER的数据结构来表示。以下 是可以包括可扩充值数据类型的OPER的一个示例性表示 struct { tag: {Error, Number, Text},value: union {…出错值表示…, ...数字表示..., ..文本表示},extensibleValue: * Extensible Value } OPER根据一个实施例,前两个字段是支持基础类型的字段。第三个字段 "extensibleValue (可扩充值)"对所有常规基础值而言为空。但是对于可扩 充值,ExtensibleValue字段指向extensibleValue对象,根据一个实施例其支 持以下接口 DisplayYourself();PopUpViewer();禾B GetValue()(获取值)。 DisplayYourself()方法定义了如何在单元格内显示可扩充值。PopUpViewer() 方法定义了在完全显示时如何显示和编辑可扩充值。GetValue()方法返回可 由不理解该可扩充值类型的电子数据表函数使用的OPER。数值可由{Number, 3}表示,而弁DIV0可由{Error, 7}表示,其中7是被零 除的内部代码。计算链处理各OPER。例如,考虑公式=SQRT(A1/A2)。计算引擎首 先计算A1和A2。 Al和A2现在具有各自由OPER表示的最新值。计算引擎 获取这两个OPER并将他们相除以生成表示该结果的新OPER。所得的OPER 取决于是否发生被零除可以是出错值OPER或数字OPER。随后将该OPER 传递给SQRT,该SQRT构造一个新的OPER作为其结果。考虑一个涉及可扩充类型的示例。假设MDX成员是期望被添加的新可 扩充值类型之一。为此,存在一个类对象MDX_Member,即ExtensibleValue 的一个子类。该类具有用于该成员标题和唯一 MDX名的专用字段。 MDX—Membe类的GetValue方法返回Text OPER,其"值"字段设置为MDX 成员的标题,而extensibleValue字段设置为!^nyj^Member对象。以此方式, 现有的电子数据表函数只看见Text OPER,但是任何知晓MDX的函数可以在 extensibleValue字段内看见该MDX—Member对象。ExtensibleValue对象*是* 该值;OPER包装仅高速缓存返回该值的函数的结果,诸如对该值的GetValue 调用。移至操作330,定义可扩充值类型的显示特征。显示特征定义了可扩充 值应该如何在单元格内显示以及可扩充值如何被査看和编辑。根据一个实施 例,开发者定义可扩充值如何在单元格内显示其本身(DisplayYourself())以 及可扩充值如何被查看编辑(PopUpViewer())。例如,对于图片可扩充值,Display Yourself()定义可以指定在单元格内显示该图片的图标。PopUpViewer() 定义指定可扩充值如何被查看和编辑。根据一个实施例,当用户选择单元格 内的可扩充值表示时,向用户显示由P叩UpViewer()定义所定义的查看器。对 于许多可扩充值,诸如标准图像类型,查看器和编辑器轻易可用以用于与包 含在一个或多个单元格内的可扩充值交互。 一般而言,可扩充值的显示留给 开发者(参见图5和相关讨论)。行进至操作340,定义可以包括可扩充值应该如何由受电子数据表支持 的基础公式处理。如前所述,可扩充值可被包括在不理解该可扩充值且仅对 受支持的基础值进行操作的公式内。例如,假设Sum (求和)公式中包括可 扩充值(MyList),诸如=Sum(Filter(MyList,...);其中MyList (我的列表) 是新的List (列表)值,Filter (过滤器)消费MyList以生成新的(更小的) 列表作为其结果。"旧的"函数Sum期望接收数组值类型作为其自变量,但 给出的是List值类型根据一个实施例,只要函数或公式接收到不是它期望的 值,自变量就"向下强制转换"至它期望的值类型。在当前的示例中,MyList 值强制转换为数组类型。在此情况下,MyList值类型的定义包括将列表值类 型强制转换为数组类型的操作。另举一例,假设单个单元格,诸如A3包含可扩充MDX成员值,诸如 =A3 & "Wubble"。受支持的基础字符串拼接操作"&"期望其自变量是字符 串。然而在此示例中,A3的值是可扩充MDX成员值类型。如果&操作符没 有被MDX成员可扩充定义覆盖,这该MDX成员值就被向下强制转换成依据 受支持定义的字符串。例如,定义可以陈述何时期望字符串返回MDX成员 名。根据一个实施例,向下强制转换提早进行,使得不知道该可扩充值的任 何函数都能够看见受支持的值,并且可以在操作中使用该值。以此方式,基 础函数继续以某种方式工作。根据另一个实施例,向下强制转换不提早进行。 在此情况下,计算引擎可以在它调用基础函数的前一刻进行向下强制转换。在操作350处,可扩充值类型的定义及其支持的函数被加入电子数据表 应用程序。该函数可被包括在应用程序内,从而能够像对基础函数那样的方式对其进行访问。根据一个实施例,定义可被加入一表格并在调用时被访问。转换至操作360,电子数据表提供对可扩充值类型及其支持函数的访问。以此方式,任何用户都可以与包括文本字符串、数字等相同的方式在他们的 电子数据表内包括受支持的可扩充值数据类型。 随后该进程移至结束框并返回以处理其它动作。图4根据本发明各方面显示在电子数据表内使用可扩充值类型的过程。 在开始操作之后,过程行进至定义操作410,其中在电子数据表的单元格内 包括至少一个可扩充数据值。可扩充值根据包括有可扩充值类型定义的 Display Yourself()定义来显示。移至操作420,电子数据表内的至少一个公式包括可扩充值作为它的一 个参数。公式可以调用已经为该可扩充值数据类型专门开发的函数,和/或公 式可以调用期望不同值类型的函数。为了让不理解可扩充值数据类型的公式 生成结果,提供定义以将该可扩充值数据类型强制转换成该函数支持的数据 类型之一。行进至操作430,访问包括一个或多个可扩充值的函数。根据一个实施 例,该函数位于函数表内。移至操作440,求值该电子数据表。该电子数据表的求值是基于其内的 函数以及包含在各单元格内值而进行的。以此方式,包含可扩充值的每一单 元格都可由函数进行合适作用。在操作450,可将查询及所执行的任何计算的结果向用户显示。在单元 格包含可扩充值的情况下,该显示可由可扩充值的DisplayYoursdf()方法执 行,于是就完全处于开发该可扩充类型的用户的控制之下。随后该进程移至 结束框并返回以处理其它动作。图5示出了可扩充值的显示、査看和编辑。因为可在电子数据表内定义 和利用的可扩充值数量是无限的,所以图5中示出的可扩充值仅出于示例性 目的而非作为限制。电子数据表的单元格B4示出了关于收益率曲线的可扩充值。收益率曲 线可扩充值的显示已由DisplayYourself()方法定义,从而示出了更大的收益率曲线的图标显示。当选择单元格B4时,弹出的查看器显示收益率曲线510。 一旦显示收益率曲线510,用户可以按需操控该收益率曲线。电子数据表的单元格Al示出了关于图片的可扩充值。在此示例中,图 片可扩充值在单元格内显示为图片的文本描述。当选择单元格A1时,将图片 520显示给用户。电子数据表的单元格Cl示出了关于复数值的可扩充值。复数值可扩充 值的显示已由DisplayYourself()方法定义,从而示出了该复数值。当选择单元 格Cl时,弹出的査看器显示该复数值530。作为替换,DisplayYourself()和 P叩UpViewer()定义可以使用标准电子数据表查看器进行操控和操控。在此情 况下,可以通过简单地在单元格处键入文本来操控该复数值。电子数据表的单元格E4示出了与数组有关的可扩充值。数组可扩充值 的显示已由DisplayYoursdf()方法定义,从而示出了该可扩充值是数组的事实 以及该数组的代表值。在此示例中,开发者将代表值定义为求和或者包含在 该数组内的各值。当选择单元格E4时,弹出的查看器显示数组540。 一旦数 组540被显示,用户可以按需操控该数组。从该示例中可以看出,可扩充值可以在单元格内以各种不同的方式显示, 并且可以使用各种方法来对其进行查看和编辑。定义可扩充值类型的开发者 可以确定在单元格内表示该可扩充值的最佳方式,以及査看并编辑该可扩充 值的最佳方式。以上说明、示例和数据提供了对本发明成分的制造和使用的全面描述。 因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例, 所以本发明落在所附权利要求的范围内。
权利要求
1.一种用于对可扩充值进行操作的计算机实现方法,包括从电子数据表的单元格获取可扩充值;其中所述可扩充值是可扩充值数据类型之一;以及执行涉及所述可扩充值的操作;其中所述可扩充值以类似于基础值的方式被处理。
2. 如权利要求1所述的计算机实现方法,其特征在于,还包括在所述可 扩充值被选择时在査看器内显示所述可扩充值;其中所述査看器可用于査看和 编辑所述可扩充值。
3. 如权利要求1所述的计算机实现方法,其特征在于,执行涉及所述可 扩充值的操作包括在所述可扩充值不受所述操作支持时将所述可扩充值强制 转换成受支持的基础类型。
4. 如权利要求3所述的计算机实现方法,其特征在于,强制转换所述可 扩充值包括将所述可扩充值强制转换成以下各项之一字符串类型;出错类型; 和数字类型。
5. 如权利要求3所述的计算机实现方法,其特征在于,强制转换所述可 扩充值包括在所述操作被请求执行之前强制转换所述可扩充值。
6. 如权利要求1所述的计算机实现方法,其特征在于,还包括从由操作 符定义的对象访问所述可扩充值。
7. 如权利要求2所述的计算机实现方法,其特征在于,所述可扩充值提 供关联函数以及关于所述可扩充值在被不理解所述可扩充值的函数消费时如 何工作的行为。
8. 如权利要求1所述的计算机实现方法,其特征在于,还包括连接至多 维数据库并从所述多维数据库获取有关所述可扩充值的数据。
9. 如权利要求1所述的计算机实现方法,其特征在于,还包括提供针对 所述可扩充值数据类型的显示定义。
10. —种具有用以与电子数据表内的可扩充值交互的计算机可执行指令 的计算机可读介质,包括定义可扩充值数据类型;在所述电子数据表的单元格内包括由所述可扩充值数据类型定义的可扩充值;执行涉及所述可扩充值的操作;其中所述操作由以下各项中的至少之一执 行基础函数以及被定义对所述可扩充值数据类型进行操作的函数。
11. 如权利要求10所述的计算机可读介质,其特征在于,定义所述可扩 充值包括定义使用所述可扩充值执行至少一个操作的函数列表。
12. 如权利要求11所述的计算机可读介质,其特征在于,定义所述可扩 充值包括在执行的所述操作不理解所述可扩充值时定义针对所述可扩充值的 行动。
13. 如权利要求11所述的计算机可读介质,其特征在于,还包括定义在 单元格内显示所述可扩充值的方式;以及定义用于查看和编辑所述可扩充值的 查看器。
14. 如权利要求10所述的计算机可读介质,其特征在于,执行涉及所述 可扩充值的操作包括将所述可扩充值强制转换成另一个值类型。
15. 如权利要求12所述的计算机可读介质,其特征在于,强制转换所述 可扩充值包括在所述操作被请求执行之前将所述可扩充值强制转换成以下各 项之一字符串类型;出错类型;和数字类型。
16. —种与来自电子数据表的可扩充值交互的系统,包括 处理器,被配置用于执行操作;电子数据表应用程序,被耦合至网络并被配置为执行以下各项步骤,所述 步骤包括在所述电子数据表的单元格内包括可扩充值;以及在所述处理器上执行涉及所述可扩充值的操作;其中所述可扩充值可由基 础电子数据表操作消费。
17. 如权利要求16所述的系统,其特征在于,所述电子数据表应用程序 还被配置为确定一组函数以使用所述可扩充值执行至少一个操作。
18. 如权利要求17所述的系统,其特征在于,所述电子数据表应用程序 还被配置为响应于所述基础电子数据表函数所期待的类型而将所述可扩充值强制转换成另一类型。
19. 如权利要求17所述的系统,其特征在于,还包括一显示;其中所述 显示被配置为根据显示定义而在单元格内显示所述可扩充值的表示并且在查 看器内显示所述可扩充值以使得所述可扩充值能被完整地查看和编辑。
20. 如权利要求17所述的系统,其特征在于,强制转换所述可扩充值包 括在所述操作被请求执行之前将所述可扩充值强制转换成以下各项之一字符 串类型;出错类型;和数字类型。
全文摘要
电子数据表内的独立单元格可以包含由可扩展值类型定义的可扩展值。可扩充值类型是作为受支持数据类型被加入电子数据表的用户定义值类型。总之,可扩展值类型提供对未被电子数据表内部定义的类型的支持。当可扩充值类型被定义时,开发一组关联函数以对该类型进行操作。这些函数可以添加至由电子数据表支持的基础函数组。因此,这些函数以基本类似于电子数据表基础函数组的方式工作。单元格内所包含的可扩展值可以按与受支持基础类型相同的方式而被作用。
文档编号G06F17/21GK101326490SQ200680046424
公开日2008年12月17日 申请日期2006年12月5日 优先权日2005年12月9日
发明者C·D·艾力斯, M·J·安德罗斯奇, R·G·霍金, S·P·琼斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1