具体实施方式
现在将在以下参考示出本发明实施例的附图来更加完整地描述本发明。但是,本发明能以许多不同的形式具体化,并且不应被解释为局限于本文中所阐述的这些实施例。相反,提供这些实施例是为了使此揭示透彻和完整,并能向本领域技术人员充分传达本发明的范围。
本发明涉及用于在公式栏内显示电子表格数据的系统和方法的新的和改良的实施例。在本发明的实施例中,数据被输入到或包含在一个或多个单元格内。一选择具有数据的单元格或是将数据输入到单元格中,该数据就会也在公式栏内的文本框中显示出来。公式栏中的文本框为用户提供了用于添加、删除或编辑所选择的单元格内的数据的用户界面设备。文本框提供诸如单行数据等有限量的显示空间用于查看数据。如果单元格中所包含的数据无法在文本框内的可用空间中显示,则公式栏可被展开以增加文本框的显示空间。在公式栏和文本框被展开的情况下,用户在文本框中查看单元格中所包含的更多或全部的数据。
图1中示出用来创建具有根据本发明的可展开的公式栏的电子表格的计算机系统100。如本文中所使用,“计算机系统”应被宽泛地解释并被定义为“执行用于显示和操纵文本、图形、符号、音频、视频和/或数字的程序的一个或多个设备或机器”。计算机系统100显示诸如显示屏102等信息。显示屏102被放大以示出该显示的细节。显示102与具有可展开的公式栏的示例性电子表格应用程序的显示的实施例相关。在此特定示例中,显示102具有带标题栏106的电子表格窗口104。工具栏110提供诸如编辑控件112等用户控件。电子表格窗口104的其它实施例具有菜单栏108和工具栏110。工具栏110提供诸如编辑控件112等用户控件等等。此类用户界面控件在本领域中一般是众所周知的,并且在管理某些类型的信息时是很有用的。
在电子表格窗口104内,有电子表格116。电子表格116是由相交的行(诸如第6行118)和列(诸如第F列120)构成的。相交的行和列构成单元格(诸如单元格F6 122),它由单元格相应的行和列标识,例如,单元格“F6”122在第F列120和第6行118。图1中所示的电子表格116显示了15列和31行。但是,电子表格116可包括更多行和列,如滚动条124和126所示。
单元格既是电子表格内的显示,又是电子表格内的容器。因此,每个单元格可显示一个项目并包含该项目。例如,图1中的单元格B3 128显示项目“NAmerica”,这是一个文本条目。在实施例中,单元格中的项目是源自用户对电子表格的各种输入,诸如用户手动将项目输入到单元格中,或是用户将值复制并粘贴到单元格中。在一个实施例中,用户通过将数据输入诸如公式栏130等公式栏来将数据输入到单元格中。公式栏130包括显示对应于当前单元格(诸如单元格122)的数据的文本框132。在诸如图1中的实施例等一些实施例中,文本框132在数据被输入到当前单元格122中之前显示被输入到文本框132中的数据。此情况在用户将数据输入到文本框132中、但尚未提交数据以将其输入到单元格中时发生。因此,数据被显示在文本框122中,但没有被显示在当前单元格122中。在其它实施例中,单元格122中所包含的数据被同时显示在单元格122和文本框132中。
在本发明的实施例中,公式栏130是可展开的。文本框132显示数据的第一部分。图1中的公式栏130中的文本框132仅显示单行数据。但是,文本框132包含的数据比所显示的要多。电子表格应用程序104显示一个或多个视觉指示,以示文本框132包含的数据比在文本框的当前配置中能够显示的要多。例如,当前在文本框132中所显示的数据的末尾处示出省略号134。在另一实施例中,电子表格应用程序104提供诸如按钮136等用户控件,在用户用光标(诸如光标138)选择了该控件136的情况下,它将公式栏130展开。可展开的公式栏将在以下更加详细地解释。
图2中示出可在其中实现本发明的合适的操作环境的实施例。该操作环境指示合适的操作环境的一个例子,而并不试图对本发明的使用返回或功能提出任何限制。适于配合本发明使用的其它公知的计算系统、环境和/或配置包括,但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
参考图2,用于实现本发明的实施例的示例性计算环境包括诸如计算设备200等计算设备。在其最基本的配置中,计算设备200通常包括至少一个处理单元202和存储器204。取决于计算设备200的确切配置和类型,存储器204可以是易失性(诸如RAM)、非易失性(诸如ROM、闪存等)、或这两者的某种组合。图2中以虚线206示出计算设备200最基本的配置。
此外,设备200可能还有其它特征/功能。例如,设备200还可包括其它存储(可移动和/或不可移动),这些存储包括,但不限于,磁盘、光盘或磁带。这些其它的存储在图2中由可移动存储208和不可移动存储210示出。此类计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储器204、可移动存储208和不可移动存储210都是计算机存储介质的示例。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光学存储,磁带盒、磁带、磁盘存储或其它此存储设备,或是可被用来存储所需信息并可被设备200和处理器202访问的任何其它介质。任何此类计算机存储介质都可以是设备200的部件。
设备200还可包含允许设备与其它设备通信的通信连接212。通信连接212是通信介质的示例。通信介质通常具体化为诸如载波或其它传输介质等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递介质。术语“已调制数据信号”是指以在信号中将信息编码的方式设置或改变其一个或多个特性的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接连线连接等有线介质,以及诸如声学、RF、红外及其它无线介质等无线介质。
设备200还可具有诸如键盘、鼠标、笔、语音输入设备、触摸式输入设备等输入设备214。诸如显示器、扬声器、打印机等输出设备216也可被包括。单独或组合状态下的这些设备可构成用来显示带有如本文中所描述的可展开的公式栏的电子表格应用程序的用户界面。所有这些设备在本领域中都是公知的,且无需在此详细讨论。
计算设备200通常至少包括某种形式的计算机可读介质,它可以是计算机程序产品的某种形式。计算机可读介质可以是可由处理单元202访问的任何可用介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。以上任何介质的组合也应被包括在计算机可读介质的范围之内。
图3中示出具有可展开的公式栏304的电子表格应用程序302的另一个实施例。图3中所示的公式栏304还包括文本框306。在图3中所示的配置中,公式栏304还没有被展开。在实施例中,电子表格应用程序302接收展开公式栏304的输入。例如,用户将光标(诸如光标308)放在公式栏304的一个部分上来调节公式栏304的大小。在其它实施例中,可展开的公式栏304自动展开以在文本框306中显示更多数据。
图4中示出具有可展开的公式栏404的电子表格应用程序402的实施例。在此例中,公式栏404被展开以显示较大的文本框406,该文本框显示文本框406中当前所包含的所有数据。在本发明的实施例中,公式栏404展开到最大的尺寸,诸如放大到在文本框406中查看五行文本。在其它实施例中,公式栏404以一个或多个离散的步骤展开,诸如足够在文本框406中显示另一行文本。用户可控制展开量。
在其它实施例中,放大的公式栏404包括显示数据的另一个部分但不能显示所有数据的文本框406。例如,文本框406内的数据可能篇幅太大以至于在已展开的文本框406中也不能显示。在此例中,电子表格应用程序402可提供诸如滚动条408等用户界面来滚动遍历文本框408中的数据。此外,在一些实施例中,电子表格应用程序402提供诸如控制按钮410等另一个用户控件,来取消展开、缩小或将已展开的公式栏402最小化。
图4中的电子表格应用程序402示出展开到覆盖电子表格412的一部分的已展开公式栏404的一个实施例。例如,如果图3中的电子表格应用程序302和图4中的电子表格402示出公式栏被展开前(302)和被展开后(402)的同一个电子表格,则可以看到图4中的电子表格的一部分已经被公式栏402覆盖。特别地,图3中的一组行310如今被图4中的已展开的公式栏404覆盖。
在另一个实施例中,图5中所示的电子表格应用程序502也提供已展开的公式栏504。但是,在此实施例中,公式栏504在展开以后并不覆盖电子表格506的部分。例如,图5中的一组行508对应于图3中的相同一组行310。因此,尽管公式栏504已被展开,但是电子表格显示对已展开的公式栏504增加的大小作出补偿,并自动调整电子表格506以继续显示该组行508。
在一个实施例中,电子表格应用程序502在公式栏展开以前确定所显示的电子表格506的顶部的位置。接着,在公式栏展开以后,电子表格应用程序502确定电子表格的顶部当前存在于何处。例如,如果图4中的电子表格应用程序402是展开过程的中间阶段,则电子表格412的顶部比已展开的公式栏406的底部高四行。电子表格应用程序502由此确定要滚动电子表格多少才能继续显示电子表格506的顶部。例如,如果如图4中电子表格比已展开的公式栏高四行,则电子表格应用程序502需要将电子表格滚动四行。电子表格应用程序502随即自动滚动电子表格506以显示电子表格506中顶部的一组行508。
在其它实施例中,电子表格应用程序502确定哪个单元格是当前单元格(诸如图1中的单元格122)。然后,电子表格应用程序502确定在展开了公式栏504以后,当前单元格是否仍被显示在电子表格中。如果在公式栏被展开以后,电子表格没有显示当前单元格,则电子表格应用程序502自动滚动电子表格直至当前单元格再次被显示。由此,电子表格应用程序502可调整电子表格显示来对公式栏504的展开进行补偿。本领域技术人员将会认识到,可对电子表格进行其它调整来对公式栏的展开进行补偿或根据其进行调节。电子表格的自动滚动将在以下描述。
图6中示出具有可展开的公式栏604的电子表格应用程序602的另一个实施例。在本发明的实施例中,可展开的公式栏604还包括用于列出可被选择的单元格的列表框606,选择单元格可在文本框608内查看所选择的单元格的数据。列表框606是允许用户从列表中选择单元格以在文本框608中显示该单元格的内容的用户界面和用户控件。在一些实施例中,单元格具有从单元格的行和列得到的标识符,诸如图6中所示的“A1”选择。在其它实施例中,单元格具有在列表框606中显示的分配给单元格的名称或元数据,诸如图6中所示的“Sales 2003”。
在本发明的实施例中,可展开的公式栏604还是大小可调整的。例如,用户使用鼠标的光标(诸如光标610)选择列表框606和文本框608之间的分隔。一选择了分隔,用户即可调整列表框606和文本框608的大小。实质上,用户可通过拖放分隔来将文本框608放大或缩小。调整文本框608的大小允许用户在文本框608中查看更多或更少的数据。在一些实施例中,用户可调整文本框608的大小以使无需展开公式栏604即可看到文本框608中的数据。但是,相反的情况也是可能的,在相反的情况中,用户可收缩文本框608,从而用户必须展开公式栏604以查看文本框608中的数据。
图7中示出用于展开公式栏的方法700的示例性实施例。在此,显示操作702显示诸如公式栏130等公式栏,它包括诸如文本框132等文本框。显示操作704显示文本框中的数据的第一部分,诸如图1中的文本框132中所示的那部分数据。
展开操作706展开公式栏以在文本框中显示数据的第二部分,诸如图5中的文本框506中所示的那部分较大的数据。在一个实施例中,当焦点被放到其所具有的数据比文本框中能够显示的要多的单元格上时,公式栏自动展开。在另一个实施例中,用户将数据输入到文本框中,且当用户输入到文本框中的数据比文本框能够显示的要多的时候文本框自动展开。
本发明的其它实施例在一收到某个用户界面输入时即展开公式栏。例如,用户使用鼠标“双击”用户界面的一个部分。在此例中,用户将鼠标光标(诸如光标138)放在公式栏的一个部分上。一双击鼠标键,公式栏即展开。在另一个实施例中,用户通过用鼠标单击诸如控件136等控件来将公式栏展开。在又一个实施例中,用户通过将鼠标光标保持在公式栏的一个部分上一段时间来悬停、或是选择公式栏的一个部分来把鼠标光标改为展开光标(诸如光标308)。然后,用户“抓住”公式栏并“拖曳”公式栏直至其被展开。在又一个实施例中,用户从菜单选择展开公式栏的大小的选择。在又一个实施例中,用户“右击”鼠标以显示弹出菜单。该弹出菜单具有展开公式栏的选择。在其它实施例中,键盘命令将指示公式栏的展开。本领域技术人员将会认识到能够影响公式栏的展开的其它用户界面方法和输入。
在一个实施例中,公式栏充分展开以显示文本框中的所有数据。在其它实施例中,公式栏展开到某个预先选择或预先确定的最大宽度。在已展开的文本框中的数据仍未显示文本框中所包含的所有数据的一些实施例中,文本框呈现诸如滚动条408等滚动条。用户可选择滚动条来滚动遍历文本框中的数据。在其它实施例中,用户可通过用光标来选择公式栏中的分隔来调整文本框和列表框(诸如列表框606)的大小。光标变成大小调整光标(诸如光标610),用户拖曳分隔来改变文本框的大小。
图8中示出响应于公式栏的展开而自动滚动电子表格的方法800的示例性实施例。展开操作802展开公式栏(诸如图4中的公式栏404)。公式栏阻碍了电子表格中至少一个单元格的显示。例如,公式栏404阻碍了图3中所示的一组行310的显示,因为公式栏404被显示在该组行之上或被显示以替换该组行。
然后,滚动操作804自动滚动显示中的电子表格以继续显示这一个或多个单元格。滚动是改变电子表格的显示的任何动作,诸如通过将显示中的数据行下移或上移来显示电子表格的不同部分。例如,在显示内移动电子表格502以继续显示与图3中的一组行310对应的图5中的一组行508。在本发明的实施例中,电子表格滚动以显示当前单元格。在其它实施例中,电子表格滚动以显示最顶或最底的包含数据的行或是一个或多个单元格。本领域技术人员将会认识到电子表格应用程序可滚动以继续显示的电子表格的其它部分。
图9中示出用于自动滚动电子表格的方法900的又一个实施例。首先,接收操作902接收展开请求。展开请求可以是自动执行展开的事件,或是来自用户界面设备的展开公式栏(诸如公式栏304)的输入。然后,确定操作904确定当前单元格(诸如图1中的单元格122)的位置。在本发明的实施例中,电子表格应用程序确定对应于当前单元格的单元格标识符(诸如“A7”)。确定操作906确定公式栏展开以后所显示的单元格的范围。在一个实施例中,电子表格应用程序确定显示范围中最顶行和最底行的标识符。
然后,确定操作908确定当前单元格是否在显示范围中。在实施例中,将对应于当前单元格的单元格标识符与对应于顶行或底行的标识符相比较。如果单元格标识符所在行在显示范围中的最顶行之上或在最底行之下,则电子表格应用程序认识到当前单元格在显示范围之外。例如,如果当前单元格是单元格A1(这意味着该单元格在第1行中),而显示范围中的最顶行是第5行,则当前单元格在显示范围之外。如果当前单元格在显示范围中,则流程走分支“是”以结束方法900。
在一些实施例中,一系列展开请求被发布。例如,如果用户用光标(诸如光标308)拖曳公式栏(诸如公式栏304)的底部,则公式栏移动的每行显示都是单个展开请求。由此,如果用户展开公式栏到两行或更多行文本上,则自动滚动操作900连续地调整显示以显示当前单元格。因此,在一些实施例中,流程可选地走分支“是”到确定操作910。确定操作910确定是否另一个展开请求。在一个实施例中,用户将公式栏拖曳到一行以上文本之上标识可能会接收到更多的展开请求。如果还有更多的展开请求,则流程走分支“是”到接收操作902。如果没有任何其它展开请求,则流程走分支“否”以结束该方法。
如果当前单元格不在显示范围中,流程从确定操作908走分支“否”到确定操作912。确定操作912确定当前单元格在显示范围之外多远。在一个实施例中,电子表格应用程序将单元格标识符与显示范围中的最顶或最底行相比较。该比较提供当前单元格坐落于显示范围以外的行数。例如,与最顶的第5行相比,当前单元格A1距离显示范围有四行。该比较可以是简单的数学操作,诸如:
Rows_outside_displayed_range=((row#_topmost_row)-(row#_active_cell)
(显示范围以外的行数=(最顶行行号-当前单元格行号))滚动操作914自动滚动电子表格。在本发明的实施例中,滚动操作914接收由确定操作912计算的行数,并将电子表格滚动这些行数。在本发明的其它实施例中,电子表格应用程序还移动可能被展开的公式栏所覆盖的任何任务区或是其它菜单栏或公式栏。因此,可能被公式栏的展开所覆盖的任何用户界面项目在用户界面中被“下推”以保持那些项目的显示。
图10中示出用于提供文本框包含的数据比所显示的要多的视觉指示的示例性方法1000。接收操作1002接收在公式栏(诸如公式栏130)中的文本框(诸如文本框132)里显示数据的输入。在一个实施例中,用户将数据输入到文本框中。在另一个实施例中,用户选择包含数据的单元格,而电子表格应用程序将焦点改变到所选择的单元格。
确定操作1004确定文本框中仅可显示数据的第一部分。在一个实施例中,电子表格应用程序确定能在文本框中显示的字符数,并确定数据中的字符数。如果数据所具有的字符比能够显示的要多,则电子表格应用程序确定只有数据的一部分能被显示。在另一个实施例中,用户用光标(诸如光标610)调整文本框的大小,并改变文本框显示的大小。一缩小文本框,确定操作1004即确定文本框是否仅可在大小已被调整的文本框内显示数据的一部分。
然后,提供操作1006提供文本中所包含的数据比能够显示的要多的视觉指示。在一个实施例中,电子表格应用程序在文本框中所显示的数据的结束处呈现省略号(诸如省略号134)。在另一个实施例中,电子表格应用程序提供表示可展开公式栏以在文本框中显示更多数据的用户控件(诸如控件136)。但无论怎样,公式栏并不展开以显示数据。
在本发明的实施例中,对电子表格应用程序的用户界面软件对象的修改影响可展开的公式栏。在一个实施例中,向公式栏软件对象添加一属性。该属性以下被称为ExpandedStateValue(已展开状态值)。ExpandedStateValue提供公式栏目前处于已展开状态还是未展开状态。此外,ExpandedStateValue包含对应于在已展开状态中所显示的行数的值。在一个实施例中,所显示的行数有默认值,诸如三行文本。在其它实施例中,用户通过输入到用户界面中来设置该值。例如,用户可拖曳公式栏以显示五行文本。一放下公式栏,对应于所显示的最大行数的属性即在ExpandedStateValue中被设为5。对应于显示的行数的这个值可持久化。换言之,用户所设置的值在用户改变该值以前仍保持为所显示的最大行数。
在展开公式栏时,用户界面接收输入,并响应于该收入将公式栏改为其已展开或未展开的状态。例如,如果用户选择“单击”展开按钮,则电子表格应用程序将ExpandedStateValue设为已展开状态,并读出要显示的最大行数的值。电子表格应用程序重新呈现公式栏显示对象以使公式栏被展开到显示从ExpandedStateValue设置读出的最大行数。类似地,如果电子表格应用程序接收折叠公式栏的用户输入(诸如“单击”折叠按钮的选择),则将ExpandedStateValue返回到已折叠的状态。公式栏被重新呈现以仅显示单行文本。
尽管是以结构特征、方法动作和包含此类动作的计算机可读介质专属的语言描述了本发明,但是应当理解,在所附权利要求书中定义的本发明不必局限于所描述的这些特定结构、动作或介质。本领域技术人员将会认识到,其它实施例或改进也落入本发明的范围和精神内。因此,揭示这些特定的结构、动作或介质是作为实现要求保护的本发明的示例性实施例。本发明由所附权利要求书定义。