CN1728127B - 通过远程函数调用提供对工作簿模型的访问的方法、系统和装置 - Google Patents

通过远程函数调用提供对工作簿模型的访问的方法、系统和装置 Download PDF

Info

Publication number
CN1728127B
CN1728127B CN2005100824074A CN200510082407A CN1728127B CN 1728127 B CN1728127 B CN 1728127B CN 2005100824074 A CN2005100824074 A CN 2005100824074A CN 200510082407 A CN200510082407 A CN 200510082407A CN 1728127 B CN1728127 B CN 1728127B
Authority
CN
China
Prior art keywords
book
function
unit
remote
calls
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2005100824074A
Other languages
English (en)
Other versions
CN1728127A (zh
Inventor
C·D·艾莉斯
D·Y·克赫恩
E·麦基
I·莱维恩
L·阿斯纳什
S·佩通-琼斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1728127A publication Critical patent/CN1728127A/zh
Application granted granted Critical
Publication of CN1728127B publication Critical patent/CN1728127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供了一种用于通过远程函数调用展现并调用工作簿模型的系统。根据该系统,客户计算机执行用于创建工作簿模型的电子制表程序。该工作簿模型以及定义函数名字和单元的应被用作模型输入和输出的数据可向服务器计算机发布。该系统还包括接收和响应指向工作簿函数的远程函数调用的一服务器计算机。当在服务器计算机上接收对工作簿函数的调用时,服务器计算机用从函数调用接收的输入参数填充标识为输入的工作簿中单元。包含在输出单元中的数据可被返回为对远程函数调用的回答。

Description

通过远程函数调用提供对工作簿模型的访问的方法、系统和装置
相关申请
本申请与申请号为10/306,937于2002年11月26日提交的题为“User-definedSpreadsheet Functions”(“用户定义的电子制表函数”)的美国专利申请相关,该申请在此明确引入作为参考。
背景技术
电子制表应用程序的效用很大程度上在于用户无需专业计算机编程能力就捕捉诸如工作表(在此也称为“电子表格”)的经组织的结构中的数据和算法操作的能力。非编程员用户无需学习编程语言就可指定复杂的数据关系,包括求和操作、摊销操作等。非编程人员以该方式利用电子制表应用程序的能力来模拟复杂的数字和财务关系。
定义电子制表应用程序内复杂模型的问题之一是模型未被封装或标记来支持由其它用户的使用。为了使其它用户能访问该模型,通常必须采用编程人员的服务来使用计算机编程语言编码模型。然后可发布模型的经编译版本并由其它用户利用。然而,用编程语言编码模型需要熟练编程人员的服务,因此可非常耗时并昂贵。
或者,包含模型的工作簿(工作表或电子表格的集合)可简单地用传统方式与其它用户共享,诸如通过文件共享或通过电子邮件。然而,用传统方式共享包含一模型的工作簿向访问该工作簿的每个用户展现该模型的实现。例如当模型的实现包括专用算法和计算时,可能需要对用户隐藏模型的实现,但是仍然需要允许用户利用该模型。现有的电子制表应用程序不提供用于允许访问模型但不允许访问底层实现的工具。
本发明的各个实施例已基于这些和其它考虑而作出。
发明内容
根据本发明,以上和其它问题通过用于通过远程函数调用提供对工作簿模型的访问的方法、系统和装置解决。通过本发明各实施例的使用,无需用传统编程语言就可与其它用户共享工作簿(“工作簿模型”或“模型”)是可能的。此外,工作簿模型被展现用于使用,而没有展现该模型的底层实现。
根据本发明一方面,提供了一种用于通过远程函数调用提供对工作簿模型的访问的系统。根据一实施例,该系统包括能够执行用于创建工作簿的电子制表应用程序的客户计算机。工作簿可包括具有存储其中的数据的一个或多个单元,并可包括用于定义模型的应用程序提供的或第三方可插入的函数。工作簿还可包含从外部数据源(诸如查询表格或主表)引入数据的对象并可包含对其它工作簿函数的调用。工作簿内的零个或多个单元可被定义为模型的输入,而工作簿内的一个或多个单元可被定义为模型的输出。
电子制表应用程序还可操作以接收要通过一个或多个远程函数调用而使工作簿模型可用的用户请求。响应于这样的请求,电子制表应用程序可操作以接收来自用户的定义新工作簿函数的数据。特别地,用户可提供函数的名字并定义输入(如果有)和函数的至少一个输出。例如,用户可标识应当用作函数输入的工作簿内的单元,并提供每个输入的名字。输入可具有缺省值并可能可被定义为可任选(即如果它们未传递则使用缺省值)。用户还可标识应当用作函数输出的工作簿内的单元,并提供每个输出的名字。用户还可指定应在其上发布新工作簿函数的服务器的位置。一旦用户已提供了该数据,则可向服务器计算机发布定义该函数的工作簿和数据,该服务器计算机可操作以接收和响应对已发布工作簿函数的远程函数调用。
电子制表应用程序还可操作以从工作簿环境中调用远程工作簿函数。远程函数的输入可被标识为工作簿内的单元或子公式内的参数。一旦已提供了该信息,电子制表应用程序可操作以用所提供的输入进行对工作簿函数的远程函数调用。远程函数调用可包括利用简单对象访问协议(“SOAP”)所作的web服务调用。也可利用其它类型的远程函数调用。
当在电子制表应用程序上接收来自远程函数的响应时,电子制表应用程序还可操作以接收来自函数的输出。电子制表应用程序可将来自函数的输出置入由用户标识的工作簿内单元用于函数输出,或可利用子公式内的输出。这样,模型可在工作簿内被定义,可被发布给服务器计算机,并且可不向调用应用程序展现该模型的底层实现而被调用。
根据本发明各方面,系统还包括一服务器计算机,它可操作以执行用于接收和响应指向工作簿函数的远程函数调用的服务器程序。特别地,服务器计算机可操作以接收和存储工作簿以及与该工作簿相关联的函数定义,该函数定义是定义可指向工作簿的远程函数调用的。函数定义标识工作簿函数的名字、应被用作函数输入的参数的描述、以及应被用作函数输出的参数的描述。服务器计算机还可操作以展现工作簿函数使得这些函数可被想要作远程调用的客户机发现。一旦工作簿函数已被展现,客户机应用程序可通过远程函数调用的使用来发现并调用工作簿函数。
当在服务器计算机上接收对工作簿函数的调用时,服务器计算机可操作以载入工作簿。一旦工作簿已被载入,服务器计算机用从函数调用接收的输入参数填充标识为输入的工作簿中单元。如果该工作簿包含对另一数据源的引用,可在重新计算之前从数据源检索重新计算工作簿所需的数据。也可调用对其它工作簿的引用。一旦工作簿已经重新计算,服务器计算机可操作以从工作簿检索定义为函数输出的单元内容。然后包含在这些单元中的数据可被返回为对远程函数调用的回答。任何类型的支持远程函数调用的应用程序可被用来以该方法调用服务器计算机上的工作簿函数,包括从其它服务器计算机上接收的调用。应理解可利用单个计算机来执行客户机和服务器计算机的功能,如在此所述。
本发明可被实现为计算机进程、计算装置、或诸如计算机程序产品或计算机可读介质的制造品。计算机程序产品可以是计算机系统可读的并编码用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算机系统可读的并编码用于执行计算机进程的指令的计算机程序的载波信号上的传播信号。
阅读以下详细说明书和附图,表征本发明的这些和各个其它特征以及优点将变得显然。
附图说明
图1是示出本发明各实施例利用并提供的若干计算机系统各方面的计算机网络图;
图2是示出本发明各实施例利用并提供的客户计算机系统各方面的计算机系统体系结构图;
图3是根据本发明一实施例示出一过程各方面的流程图,该过程用于将工作簿功能发布到服务器计算机;
图4是根据本发明一实施例示出本发明一方面的屏幕示图,该方面用于提供通过它用户可定义工作簿函数的输入和输出单元的工具;
图5A和5B是根据本发明一实施例分别示出用于通过web服务定义和调用工作簿函数的过程的各方面的流程图;
图6是根据一实施例示出本发明一方面的屏幕示图,该方面用于提供通过它用户可定义在通过远程函数调用调用工作簿函数时被用作输入和输出的单元的工具;
图7是根据本发明一实施例示出在接收和响应对工作簿模型的远程函数调用时由服务器计算机所执行步骤的流程图;以及
图8是示出在通过远程函数调用对工作簿函数调用之后工作簿内容的屏幕示图。
具体实施方式
现在参看附图,其中类似标号表示类似元件,将描述本发明各方面。特别地,图1和以下讨论旨在提供一种本发明可在其中实现的适当计算环境的简要一般说明。尽管本发明将在结合运行于计算机操作系统上的程序模块执行的程序模块的一般上下文中进行说明,本领域技术人员将理解本发明也可结合其它类型的计算机系统和程序模块实现。
通常,程序模块包括执行特定任务或实现具体抽象数据类型的例程、程序、对象、组件、数据结构等等。此外,本领域技术人员将理解本发明可在其它计算机系统配置中实践,包括手持式装置、多处理器系统、基于微处理器的或可编程的电器消费品、小型计算机、大型计算机等等。本发明还可在任务由经通信网络链接的远程处理装置执行的分布式计算环境中实践。在分布式计算环境中,程序模块可被置于本地和远程存储器存储设备中。
现在参看图1,将描述本发明若干实施例的说明性操作环境。如图1所示,网络10与客户机计算机2以及若干服务器计算机12A-12C相互连接。应理解网络10可包括任意类型的计算网络,包括局域网或诸如因特网的广域网。网络10提供用于启用客户计算机2、服务器计算机12A-12C、以及可能与网络10连接或通过它可访问的其它计算机系统之间的通信的介质。
客户机计算机2包括能执行一个或多个应用程序的通用的台式或膝上型计算机。特别地,根据本发明各实施例,计算机2可操作来执行电子制表客户机应用程序4。如本领域技术人员所众所周知的,电子制表客户机应用程序4提供用于创建预算、执行财务预测以及其它财务或数字相关任务的功能。为提供该功能,数据值可使用单元组织,而单元之间的关系可使用公式来定义。一个单元的变化产生相关单元的变化。电子制表程序通常提供用于输出的图表能力以及文本、数字值以及图表特征的各种格式化选项。
根据本发明各实施例,电子制表客户机应用程序4可被用来创建工作簿6。工作簿6是由包含一个或多个工作表(工作表在此也可称为“电子表格”)的电子制表程序所创建的文件。工作表是组织成电子制表程序内行和列,显现在屏幕上并用于创建单个表格的单个页面。通过这些特征的使用,用户可创建财务和数字问题和解决方案的模型。这样的工作簿模型可如何发布并如何通过使用远程函数调用利用将提供其它细节如下。
应理解,根据本发明一实施例,电子制表客户机应用程序4包括来自华盛顿州Redmond微软公司的EXCEL电子制表应用程序。然而,应当理解,在此描述的本发明各方面可采用来自其它制造商的其它电子制表应用程序。此外,尽管在此描述的各个发明方面可在电子制表应用程序的环境中呈现,应理解也可利用其它类型的应用程序来体现本发明各方面。
根据本发明其它实施例,客户机计算机2还可操作以执行与简单对象访问协议(“SOAP”)兼容的程序8。如在下面将要信息描述的,工作簿模型可向服务器计算机12A发布。然后服务器计算机12A可通过远程函数调用的使用来向外部调用者展现工作簿模型。例如,通过web服务的使用,可作展现工作簿模型的工作簿函数的调用。在一实施例中,web服务调用可包括利用SOAP协议的远程函数调用。该SOAP调用可由电子制表客户机应用程序4或SOAP兼容程序8进行。SOAP兼容程序8可包括能作SOAP远程过程调用的任何应用程序或编程语言。
还应当理解在可选实施例中,上述计算机2的功能可被分成两个计算装置。例如,一个计算装置可操作以执行用于发布工作簿函数的电子制表应用程序4,而另一个计算装置可操作以执行用于调用工作簿函数的客户机应用程序,诸如SOAP兼容程序8。客户机应用程序还可被分成一个制作调用函数的工作簿的应用程序,以及真正执行该调用的另一个应用程序。例如,第二个可以是运行调用工作簿函数的工作簿的服务器。
电子制表服务器应用程序13包括不使用显示屏(无头的)就可执行的基于服务器应用程序。电子制表服务器应用程序13可操作以执行服务器计算机上电子制表客户机应用程序4的许多功能。例如,电子制表服务器应用程序13可载入并计算工作簿6。如在此将要描述的,电子制表服务器应用程序13还提供用于工作簿以及描述工作簿函数的数据的功能。电子制表服务器应用程序13还向外部调用者展现工作簿函数,并接收和响应远程函数调用。有关由电子制表客户机应用程序4和电子制表服务器应用程序13执行的各个功能的其它细节将参照图2-8在下面提供。
现在参看图2,将描述在本发明各实施例中利用的计算机2的说明性计算机体系结构。在图2中所示的计算机体系结构示出常规台式或膝上型计算机,包括中央处理单元5(“CPU”)、包括随机存取存储器(RAM)9和只读存储器(ROM)11的系统存储器7、以及将存储器耦合到CPU 5的系统总线12。包含有助于如起动时在计算机元件间传送信息的基本例程的基本输入/输出系统(BIOS)存储在ROM11中。计算机2还包括用于存储操作系统18、应用程序和其它程序模块的大容量存储装置24,将在下面进行更详细描述。
大容量存储装置24通过连接到总线12的大容量存储控制器(未示出)连接到CPU 5。大容量存储装置24及其相关联计算机可读介质提供计算机2的非易失性存储。尽管包含在此的计算机可读介质的描述指向诸如硬盘或CD-ROM的大容量存储装置,本领域技术人员应理解计算机可读介质可以是计算机2能访问的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性介质、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字化多功能光盘(DVD)或其它光学存储技术、磁盒、磁带、磁盘存储器或其它磁性存储设备、或任何其它可用于存储所需信息并可由计算机2访问的介质。
根据本发明各实施例,计算机2可使用通过诸如因特网的网络10与远程计算机的逻辑连接在网络化环境中操作。计算机2可通过与总线12连接的网络接口单元20与网络10相连。应理解,还可利用网络接口单元20域其它类型的网络和远程计算机系统相连。计算机2还可包括输入/输出控制器22,用于接收和处理来自包括键盘、鼠标、或电子笔(未在图2中示出)的众多其它装置的输入。类似地,输入/输出控制器22可提供对显示屏、打印机、或其它类型输出装置的输出。
如上简述,众多程序模块和数据文件可被存储于计算机2的大容量存储装置24和RAM 9中,包括适于控制网络化个人计算机的操作系统18,诸如来自华盛顿州Redmond微软公司的Windows XP操作系统。大容量存储装置24和RAM 9还可存储一个或多个程序模块。特别地,大容量存储装置24和RAM 9可存储电子制表客户机应用程序4和SOAP兼容程序8,如上所述。大容量存储装置24和RAM9还可存储由电子制表客户机应用程序4创建的工作簿6。
应当理解,服务器计算机12A-12C可包括如图2所示的以及上述的许多常规计算组件。此外,服务器计算机12A可操作以存储和执行电子制表服务器应用程序13。文件服务器计算机12C可操作以存储和执行文件服务器应用程序28,用于接收和响应对存储在贮藏库14中文件(诸如工作簿6)的请求。应理解,服务器计算机12A-12C可包括未在图2中示出但本领域技术人员众所周知的其它常规组件。
现在参看图3,将描述示出由电子制表客户机应用程序4执行的用于将工作簿模型向服务器计算机发布为工作簿函数的过程的说明性例程300。参阅在此所示例程的讨论时,应理解本发明各实施例的逻辑操作被实现为(1)运行于计算系统上的计算机实现动作或程序模块序列和/或(2)计算系统中相互连接的机器逻辑电路或电路模块。实现是取决于实现本发明的计算系统性能要求所作的选择。因此,如图3、5和7所示的以及组成在此所述本发明各实施例的逻辑操作可被分别称为操作、结构化装置、动作或模块。本领域技术人员将理解,这些操作、结构化装置、动作和模块可用软件、固件、专用数字逻辑、及其任意组合来实现而不背离本发明精神和范围,如在此陈述的权利要求所述。
例程300从操作302开始,其中用户利用电子制表客户机应用程序4来创作工作簿6。特别地,如在此所述的,用户可利用由电子制表客户机应用程序4提供的各个工具来创建包括一模型的工作簿。如在此定义的,术语工作簿模型包括以执行数字分析的方式创作的工作簿,并包括可用作模型输入的一个或多个单元以及提供模型输出的一个或多个单元。在电子制表客户机应用程序4内用来创建工作簿模型的各种功能和方法实际上是无限的并为本领域技术人员所众所周知。
从操作302,例程300继续到操作304,其中电子制表客户机应用程序4确定用户是否请求将工作簿模型向服务器计算机12A发布为工作簿函数。如果用户未作该请求,则例程300返回到操作302,其中用户可继续创作模型。如果用户请求发布该工作簿模型,则例程300继续到操作306。
在操作306,电子制表客户机应用程序4从用户处接收工作簿函数的名字。该名字标识包含该函数的工作簿以及工作簿内的函数本身。该名字后来可被调用应用程序用来标识所请求的远程函数调用。一旦已接收到名字,例程300继续操作308,其中一个或多个单元可由用户标识为函数的输入。在操作310,用户可提供每个输入的文本名字。例如,用户可选择工作簿内的单元以将该单元标识为输入,并提供名字“AssetPrice”以标识该输入。一旦输入单元及其名字已由用户标识,例程300从操作310继续到操作312。
在操作312,一个或多个单元可被用户标识为函数的输出。在操作314,用户可提供每个输出的文本名字。例如,在操作312和314,用户可选择工作簿内的单元以将该单元标识为输出,并提供名字“Call value”以标识该输出。一旦输出单元及其名字已由用户标识,例程300从操作314继续到操作316。
从操作314,例程300继续到操作316,其中包括定义指定工作簿函数的数据的工作簿6被发布到电子制表服务器应用程序13。例如,工作簿6的发布可包括将工作簿6上载到服务器计算机12A或通过程序生成电子表格并通过服务器应用程序接口(“API”)将其发送给服务器计算机12A。当工作簿6被发布给电子制表服务器应用程序13时,工作簿6被存储在贮藏库14中。电子制表服务器应用程序13还被告知工作簿6的存在,然后在工作簿内定义的工作簿函数可通过web服务被展现。标识工作簿函数的名字、输入输出单元及其名字的数据还可用工作簿发布到服务器12A。
一旦工作簿6已被传播到贮藏库14并由电子制表服务器应用程序13分析,诸如SOAP兼容程序8或电子制表客户机应用程序4的数据库客户机应用程序可被用来调用服务器计算机12A的工作簿函数。有关由电子制表客户机应用程序4为调用工作簿函数而执行的以及由电子制表服务器应用程序13为展现工作簿函数并接收和响应函数调用而执行的各种功能将参照图5-8在下面详述。从操作316,例程300继续到操作318,在那里例程结束。
现在参看图4,将描述用于发布包括工作簿函数的工作簿模型的说明性用户界面。图4中所示用户界面30可响应于要向服务器计算机12A发布工作簿函数的用户请求而提供。用户界面30可示出当前工作表32的一部分。当前工作表32中所示的每个单元可被用户选择用来将单元标识为函数输入或函数输出。
为有助于对工作簿函数输入的定义,用户可选择当前工作表32中的一个或多个单元。然后用户可选择用户界面按钮36以将选定单元添加为新的输入。用户还可将输入的名字键入列表框34内。这样,用户可将当前工作表32的尽可能多的单元定义为工作簿函数的输入。类似地,用户可选择当前工作表32的一个或多个单元,并可选择用户界面按钮40来指定单元为从函数的输出。列表框38可被用来提供每个输入自变量的名字。图4所示示例显示定义用于计算选项的调用和置入值的模型的工作表32。单元C2-C7已被定义为输入而单元F2-F3被定义为输出。
图4所示用户界面30还可提供文本框42,函数名字可由用户键入其中。用户还可在文本框44中提供函数的文本描述。最后,用户可在文本框46中标识应在其上发布新工作簿函数的服务器计算机12A的位置。一旦用户已提供该信息,按钮48可被选定以向服务器计算机12A发布工作簿,包括描述工作簿函数的元数据。
现在参看图5A,将描述示出用于定义和发布由服务器计算机12A展现的工作簿函数的电子制表客户机应用程序4的操作的说明性例程500。如前所述,应理解电子制表客户机应用程序4在此被描述为调用工作簿函数。然而,工作簿函数还可由兼容于远程函数调用的任意其它类型计算机程序调用。例如,其它服务器计算机、定制程序代码、其它类型的应用程序、以及很多其它类型的计算机程序。
例程500从操作502开始,其中用户利用电子制表客户机应用程序4来以上述方式创作工作簿。从操作502,例程500继续到操作504,其中电子制表客户机应用程序4确定用户是否请求利用服务器计算机12A上可用的工作簿函数。如果用户未作此请求,则例程500返回到操作502,其中用户可继续创作模型。如果用户请求利用远程工作簿函数,则例程500继续到操作506。
在操作506,从用户处接收请求函数的名字。一可用工作簿函数及其参数的列表可从服务器计算机12A发现并检索。一旦用户已标识要利用的远程工作簿函数,例程500继续操作508,其中用户选择应被用作工作簿函数输入的工作簿单元。特别地,用户分配一个单元给函数的每个输入。当作远程函数调用时,被分配单元中的数据可被提供为函数的输入。在操作510,用户选择工作簿单元,其中函数输出应以类似方式放置。然后例程500继续到操作511,在那里例程结束。
现在参看图5B,将描述用于通过web服务调用来调用工作簿函数的说明性例程550。例程550在操作511开始,其中检索来自输入单元的数据以及函数调用的输入参数的相应名字。在操作512,web服务调用被置入请求函数。在操作514,电子制表客户机应用程序4接收来自服务器计算机12A的响应,包括来自函数调用的输出。在操作516,所接收输出被置入到工作簿上由用户定义为输出的单元位置。图8显示工作簿70的一部份,如上所述,单元72和74被定义为包含来自工作簿函数的输出。如图8所示,返回到电子制表客户机应用程序4的由工作簿函数计算的值已被置入工作簿70的适当单元中。从操作516,例程550继续到操作518,在那里例程结束。
现在参看图6,将描述用于生成对服务器主宿的工作簿函数的远程函数调用的说明性用户界面。图6所示的用户界面50是响应于用户对利用远程工作簿函数的请求由电子制表客户机应用程序4显示的。用户界面50包括当前工作簿52的显示,包括工作簿的一个或多个单元。
用户界面50还包括标识请求工作簿函数的每个输入的列表框56。用户可选择工作簿52的任一单元,并选择按钮58来将单元分配给函数的输入。类似地,列表框68按名字标识每个函数输出。用户可选择工作簿52的任一单元和按钮62以将工作簿单元分配给函数输出。一旦用户已将工作簿52的单元分配给每个输入输出,用户可选择用户界面按钮64来置入所需的远程函数调用。
现在参看图7,将描述一说明性例程700,它示出用于接收和响应指向通过web服务展现的工作簿函数的调用的电子制表服务器应用程序13的操作。例程700在操作702开始,其中电子制表服务器应用程序13展现可用的工作簿函数。一旦电子制表服务器应用程序13已展现各个工作簿函数,诸如SOAP兼容程序8或电子制表客户机应用程序4的客户机应用程序可发现可用函数并发出指向特定函数的调用。
例程700继续从操作702到操作704,其中电子制表服务器应用程序13接收指向特定工作簿函数的远程函数调用。该调用包括标识每个函数输入并提供每个输入的值的数据。从操作704,例程700继续到操作706,其中电子制表服务器应用程序13载入包含接收调用所指向的工作簿函数的工作簿6。一旦工作簿6已由电子制表服务器应用程序13载入,例程700继续到操作708,其中电子制表服务器应用程序13用web服务调用所提供的输入填充载入工作簿的适当单元。然后例程700从操作708继续到操作710。
在操作710,电子制表服务器应用程序13确定工作簿6是否包括对另一数据源或另一工作簿函数的引用。例如,如上简述,工作簿可包括对诸如数据源16的数据源的引用。如果工作簿6包括对另一数据源的引用,则例程700分支到操作712,其中电子制表服务器应用程序13查询计算工作簿6所需任意数据的数据源16。一旦该数据由电子制表服务器应用程序13接收,则工作簿6用已接收数据更新。
如果在操作710,确定工作簿6未包括对另一数据源的引用,则例程700继续到操作714。在操作714,电子制表服务器应用程序13重新计算工作簿6的内容。包括工作簿函数的计算。从操作714,例程700继续到操作716,其中电子制表服务器应用程序13检索当定义工作簿函数时被标识为输出的工作簿模型单元的内容。然后例程700继续到操作718,其中电子制表服务器应用程序13准备包括来自工作簿函数输出的数据的web服务回答。在操作720,回答被传送到客户计算机2作为对初始web服务请求的响应。然后客户计算机2可将接收输出数据以上述方式置入适当单元。然后例程700从操作720继续到操作722,在那里例程结束。
基于前述内容,应当理解本发明各实施例包括用于展现和利用作为服务器数据源的工作簿的方法、系统、装置和计算机可读介质。以上说明书、示例和数据提供了对本发明组件的制造和使用的完整描述。因为可作出本发明的许多实施例而不背离本发明的精神和范围,本发明驻留于此后所附的权利要求中。

Claims (12)

1.一种在客户机计算机处实现的,用于通过远程函数调用访问工作簿模型的方法,包括:
提供用于定义所述工作簿模型的工具;
接收使所述工作簿模型通过远程函数调用可用的请求,所述请求包括定义工作簿函数的数据;
将所述工作簿模型和所述定义工作簿函数的数据发布给服务器计算机,所述服务器计算机可操作以展现工作簿函数并接收和响应对所展现的工作簿函数的远程调用;
用一个或多个输入参数将一远程函数调用置入所述服务器计算机,并从所述服务器计算机接收一个或多个输出参数。
2.如权利要求1所述的方法,其特征在于,定义所述工作簿函数的数据包括所述工作簿函数的名字。
3.如权利要求2所述的方法,其特征在于,定义所述工作簿函数的数据包括应被用作所述工作簿函数输入的一个或多个工作簿单元的标识以及对应于每个单元的名字。
4.如权利要求3所述的方法,其特征在于,定义所述工作簿函数的数据包括应被用作所述工作簿函数输出的一个或多个工作簿单元的标识以及对应于每个单元的名字。
5.如权利要求1所述的方法,其特征在于,所述用一个或多个输入参数将一远程函数调用置入所述服务器计算机,并从所述服务器计算机接收一个或多个输出参数的步骤还包括:
接收来自第二工作簿环境的调用远程工作簿函数的请求;
响应于所述请求,接收要被调用的远程工作簿函数的标识、第二工作簿中用作远程工作簿函数输入的一个或多个单元的标识、以及第二工作簿中用于填入远程工作簿函数输出的一个或多个单元的标识;
以用作远程工作簿函数输入的所述一个或多个单元的内容对所展现的工作簿函数作远程函数调用;
接收来自所展现的工作簿函数的一个或多个输出;以及
将来自所展现的工作簿函数的所述输出填入第二工作簿中用于填入远程工作簿函数输出的所述一个或多个单元。
6.一种在客户机计算机处实现的,用于通过远程函数调用访问工作簿模型的计算机控制装置,包括:
用于提供用于定义所述工作簿模型的工具的装置;
用于接收使所述工作簿模型通过远程函数调用可用的请求的装置,所述请求包括定义工作簿函数的数据;
用于将所述工作簿模型和所述定义工作簿函数的数据发布给服务器计算机的装置,所述服务器计算机可操作以展现工作簿函数并接收和响应对所展现的工作簿函数的远程调用;
用于用一个或多个输入参数将一远程函数调用置入所述服务器计算机,并从所述服务器计算机接收一个或多个输出参数的装置。
7.一种用于通过远程函数调用访问工作簿函数的方法,其特征在于,所述方法包括:
在服务器接收工作簿和所述工作簿的函数定义,并基于所接收的工作簿和函数定义展现工作簿函数,所述函数定义包括所述工作簿函数的名字、应用作所述工作簿函数输入的所述工作簿中一个或多个单元的描述、应用作所述工作簿函数输出的所述工作簿中一个或多个单元的描述;
在服务器接收指向所述工作簿函数的远程函数调用,所述远程函数调用包括一个或多个输入参数;
载入所述工作簿;
用所述输入参数填充应用作所述工作簿函数输入的所述工作簿中一个或多个单元;
计算所述工作簿;
检索应用作所述函数输出的所述工作簿中一个或多个单元的内容;以及
返回所述内容作为所述远程函数调用的回答。
8.如权利要求7所述的方法,其特征在于,计算所述工作簿包括:
确定所述工作簿是否包括对外部数据源或另一工作簿函数的引用;
响应于确定所述工作簿包括对外部数据源或另一工作簿函数的引用,查询任意被引用数据的所述外部数据源或所述另一工作簿函数,并用所述被引用数据填充所述工作簿;以及
计算经填充的工作簿。
9.一种用于通过远程函数调用访问工作簿函数的计算机控制装置,所述装置包括:
用于在服务器接收工作簿和所述工作簿的函数定义的装置,并基于所接收的工作簿和函数定义展现工作簿函数,所述函数定义包括所述工作簿函数的名字、应用作所述工作簿函数输入的所述工作簿中一个或多个单元的描述、应用作所述工作簿函数输出的所述工作簿中一个或多个单元的描述;
用于在服务器接收指向所述工作簿函数的远程函数调用的装置,所述远程函数调用包括一个或多个输入参数;
用于载入所述工作簿的装置;
用于用所述输入参数填充应用作所述工作簿函数输入的所述工作簿中一个或多个单元的装置;
用于计算所述工作簿的装置;
用于检索应用作所述函数输出的所述工作簿中一个或多个单元的内容的装置;以及
用于返回所述内容作为所述远程函数调用的回答的装置。
10.一种用于通过远程函数调用访问工作簿模型的系统,其特征在于,所述系统包括:
一客户计算机,它可操作以提供用于定义所述工作簿模型的工具,并接收使所述工作簿模型通过远程函数调用可用的请求,所述请求包括工作簿函数定义,它还可操作以向服务器计算机发布所述工作簿模型和所述工作簿函数定义;以及
一服务器计算机,它可操作以从所述客户计算机接收所述工作簿模型和工作簿函数定义、基于所接收的工作簿模型和工作簿函数定义展现工作簿函数并接收和响应对所展现的工作簿函数的远程调用,
所述接收和响应对所展现的工作簿函数的远程调用包括:接收包括一个或多个输入参数的远程函数调用、载入所述工作簿、用所述输入参数填充在所述函数定义中指定的单元、计算所述工作簿、检索由所述函数定义指定的应用作所述工作簿函数输出的一个或多个单元的内容、并返回所述单元的内容作为所述远程函数调用的回答。
11.如权利要求10所述的系统,其特征在于,所述工作簿函数定义包括所述函数的名字、应用作所述函数输入的一个或多个工作簿单元的标识和对应于每个单元的名字、以及应用作所述工作簿函数输出的一个或多个工作簿单元的标识和对应于每个单元的名字。
12.如权利要求11所述的系统,其特征在于,计算所述工作簿包括:
确定所述工作簿是否包括对外部数据源的引用;
响应于确定所述工作簿包括对外部数据源的引用,查询任意被引用数据的所述数据源并用所述被引用数据填充所述工作簿;以及
计算经填充的工作簿。
CN2005100824074A 2004-07-30 2005-06-30 通过远程函数调用提供对工作簿模型的访问的方法、系统和装置 Active CN1728127B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/903,781 2004-07-30
US10/903,781 US8578399B2 (en) 2004-07-30 2004-07-30 Method, system, and apparatus for providing access to workbook models through remote function cells

Publications (2)

Publication Number Publication Date
CN1728127A CN1728127A (zh) 2006-02-01
CN1728127B true CN1728127B (zh) 2011-03-09

Family

ID=34940012

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100824074A Active CN1728127B (zh) 2004-07-30 2005-06-30 通过远程函数调用提供对工作簿模型的访问的方法、系统和装置

Country Status (10)

Country Link
US (2) US8578399B2 (zh)
EP (1) EP1622016A3 (zh)
JP (1) JP5154002B2 (zh)
KR (1) KR101153002B1 (zh)
CN (1) CN1728127B (zh)
AU (1) AU2005202285B2 (zh)
BR (1) BRPI0501957B1 (zh)
CA (1) CA2508537C (zh)
MX (1) MXPA05005799A (zh)
RU (1) RU2408074C2 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664804B2 (en) 2004-06-01 2010-02-16 Microsoft Corporation Method, system, and apparatus for exposing workbook ranges as data sources
US7991804B2 (en) * 2004-07-30 2011-08-02 Microsoft Corporation Method, system, and apparatus for exposing workbooks as data sources
US8578399B2 (en) 2004-07-30 2013-11-05 Microsoft Corporation Method, system, and apparatus for providing access to workbook models through remote function cells
US9009582B2 (en) * 2004-11-19 2015-04-14 Google Inc. Converting spreadsheet applications to web-based applications
EP1859375A4 (en) * 2005-03-11 2010-11-10 Suresh Sambandam SYSTEM AND METHOD FOR DEFINING A HIERARCHICAL DATA MODEL AND SUCH DATA PROCESSING AND INSTRUCTION RULES WITH SPREADSHEET LDXE USER INTERFACE
US8307119B2 (en) 2006-03-31 2012-11-06 Google Inc. Collaborative online spreadsheet application
US20080229184A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Private sheets in shared spreadsheets
US10055468B2 (en) * 2007-04-30 2018-08-21 Wolfram Research, Inc. Access to data collections by a computational system
US8006175B2 (en) * 2007-10-29 2011-08-23 Microsoft Corporation Calculation of spreadsheet data
CN101561756B (zh) * 2009-05-26 2013-06-19 珠海金山软件有限公司 通过办公软件获取网络函数结果进行分析的方法及装置
GB2470943A (en) * 2009-06-11 2010-12-15 T B I Refunds Ipr Ltd Converting a large data file to a spreadsheet format to allow processing using remote procedure calls
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9075787B2 (en) * 2010-11-30 2015-07-07 Think-Cell Software Gmbh Defining a reusable spreadsheet-function by extracting the function from a complex calculation in a spreadsheet document
US9721030B2 (en) * 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8799988B2 (en) * 2012-01-25 2014-08-05 Microsoft Corporation Document communication runtime interfaces
US10210151B2 (en) * 2012-12-17 2019-02-19 Thomson Reuters (Grc) Llc Dynamic function builder
US9875226B1 (en) * 2013-12-20 2018-01-23 Google Llc Performing server-side and client-side operations on spreadsheets
US11170165B1 (en) 2015-03-15 2021-11-09 Sigma Sciences Limited Data processing in spreadsheet worksheets
US10509858B1 (en) * 2015-03-15 2019-12-17 Sigma Sciences Limited Data processing in spreadsheet worksheets
US10735504B2 (en) 2016-01-06 2020-08-04 Oracle International Corporation System and method for distributed workbook storage
JP6370503B1 (ja) * 2017-04-17 2018-08-08 三菱電機株式会社 プログラム作成装置
US11048695B2 (en) * 2017-09-12 2021-06-29 Sap Se Context-aware data commenting system
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
EP4062313A1 (en) * 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
US11775890B2 (en) 2019-11-18 2023-10-03 Monday.Com Digital processing systems and methods for map-based data organization in collaborative work systems
US20210256001A1 (en) * 2020-02-18 2021-08-19 Sigma Computing, Inc. Creating accessible model data sets
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
EP4143732A1 (en) 2020-05-01 2023-03-08 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11556702B2 (en) * 2020-08-31 2023-01-17 Oracle International Corporation Orchestration of crud operations for a hierarchical web service data model in a spreadsheet
US11481288B2 (en) 2021-01-14 2022-10-25 Monday.com Ltd. Digital processing systems and methods for historical review of specific document edits in collaborative work systems
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893123A (en) * 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US6157934A (en) * 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912657A (en) 1986-10-30 1990-03-27 Synthesis, Inc. Method and systems for generating parametric designs
US5033009A (en) 1989-03-03 1991-07-16 Dubnoff Steven J System for generating worksheet files for electronic spreadsheets
US5371675A (en) 1992-06-03 1994-12-06 Lotus Development Corporation Spreadsheet program which implements alternative range references
JPH09502547A (ja) * 1992-11-13 1997-03-11 マイクロソフト コーポレイション 遠隔手続き呼び出しのためのインターフェイスポインタをマーシャリングする方法及びシステム
US5805885A (en) * 1992-12-24 1998-09-08 Microsoft Corporation Method and system for aggregating objects
US5437006A (en) 1993-01-27 1995-07-25 Microsoft Corporation Spreadsheet command/function capability from a dynamic-link library
US5699518A (en) 1993-11-29 1997-12-16 Microsoft Corporation System for selectively setting a server node, evaluating to determine server node for executing server code, and downloading server code prior to executing if necessary
US5721847A (en) 1994-10-21 1998-02-24 Microsoft Corporation Method and system for linking controls with cells of a spreadsheet
US5701451A (en) 1995-06-07 1997-12-23 International Business Machines Corporation Method for fulfilling requests of a web browser
US5832532A (en) 1995-06-16 1998-11-03 I2 Technologies, Inc. Model-independent and interactive report generation system and method of operation
US5890174A (en) 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
US6122649A (en) 1996-05-30 2000-09-19 Microsoft Corporation Method and system for user defined and linked properties
US6055548A (en) 1996-06-03 2000-04-25 Microsoft Corporation Computerized spreadsheet with auto-calculator
US5819293A (en) 1996-06-06 1998-10-06 Microsoft Corporation Automatic Spreadsheet forms
US5926822A (en) 1996-09-06 1999-07-20 Financial Engineering Associates, Inc. Transformation of real time data into times series and filtered real time data within a spreadsheet application
US5983268A (en) 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US5937406A (en) 1997-01-31 1999-08-10 Informix Software, Inc. File system interface to a database
US5933818A (en) * 1997-06-02 1999-08-03 Electronic Data Systems Corporation Autonomous knowledge discovery system and method
US6154732A (en) 1997-07-25 2000-11-28 Guidedchoice.Com System for providing investment advice and management of pension assets
US6012057A (en) 1997-07-30 2000-01-04 Quarterdeck Corporation High speed data searching for information in a computer system
US6094651A (en) 1997-08-22 2000-07-25 International Business Machines Corporation Discovery-driven exploration of OLAP data cubes
US5974416A (en) 1997-11-10 1999-10-26 Microsoft Corporation Method of creating a tabular data stream for sending rows of data between client and server
US6009455A (en) 1998-04-20 1999-12-28 Doyle; John F. Distributed computation utilizing idle networked computers
JP2000067143A (ja) 1998-08-26 2000-03-03 Toshiba Corp データベースシステム
US6269377B1 (en) 1998-09-21 2001-07-31 Microsoft Corporation System and method for managing locations of software components via a source list
US6317750B1 (en) 1998-10-26 2001-11-13 Hyperion Solutions Corporation Method and apparatus for accessing multidimensional data
US6640234B1 (en) 1998-12-31 2003-10-28 Microsoft Corporation Extension of formulas and formatting in an electronic spreadsheet
US7032030B1 (en) * 1999-03-11 2006-04-18 John David Codignotto Message publishing system and method
US6532458B1 (en) 1999-03-15 2003-03-11 Microsoft Corporation Sampling for database systems
US6549907B1 (en) 1999-04-22 2003-04-15 Microsoft Corporation Multi-dimensional database and data cube compression for aggregate query support on numeric dimensions
US7013246B1 (en) 1999-05-24 2006-03-14 Parametric Technology Corporation Parametric exchange of data between a modeling system and an external application program
US6411313B1 (en) 1999-06-14 2002-06-25 Microsoft Corporation User interface for creating a spreadsheet pivottable
US6613098B1 (en) 1999-06-15 2003-09-02 Microsoft Corporation Storage of application specific data in HTML
US6701485B1 (en) 1999-06-15 2004-03-02 Microsoft Corporation Binding spreadsheet cells to objects
US6691281B1 (en) 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US6477536B1 (en) 1999-06-22 2002-11-05 Microsoft Corporation Virtual cubes
US6456999B1 (en) 1999-06-22 2002-09-24 Microsoft Corporation Aggregations size estimation in database services
US6446059B1 (en) 1999-06-22 2002-09-03 Microsoft Corporation Record for a multidimensional database with flexible paths
US6631497B1 (en) 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US6490600B1 (en) 1999-08-09 2002-12-03 Cognex Technology And Investment Corporation Processing continuous data streams in electronic spreadsheets
US6748389B1 (en) 1999-09-21 2004-06-08 International Business Machines Corporation Method, system, and program for inverting columns in a database table
US6920443B1 (en) * 1999-09-21 2005-07-19 International Business Machines, Corporation Method, system, program, and data structure for transforming database tables
US6898603B1 (en) 1999-10-15 2005-05-24 Microsoft Corporation Multi-dimensional data structure caching
US6473750B1 (en) 1999-10-15 2002-10-29 Microsoft Corporation Adaptive query execution in a distributed database system
US6493718B1 (en) 1999-10-15 2002-12-10 Microsoft Corporation Adaptive database caching and data retrieval mechanism
EP1238335A1 (en) 1999-12-07 2002-09-11 Data Foundation, Inc. Scalable storage architecture
US7185279B2 (en) 2000-01-07 2007-02-27 Master Mine Software, Inc. Data mining and reporting
US20020010743A1 (en) 2000-02-11 2002-01-24 Ryan Mark H. Method and system for distributing and collecting spreadsheet information
JP2001243242A (ja) 2000-02-25 2001-09-07 Hitachi Ltd 問合せ処理方法およびそれを実施するデータベース管理システムその処理プログラムを格納した記録媒体
GB0011426D0 (en) 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
US20020106040A1 (en) * 2001-02-02 2002-08-08 Sarnoff Corporation Method and apparatus for reducing multipath distortion in a wireless ian system
ATE412214T1 (de) 2000-06-16 2008-11-15 Microsoft Corp System und verfahren zur interaktiven kommunikation zwischen objekten in einer verteilten rechnerumgebung
US6632249B2 (en) 2000-06-23 2003-10-14 Microsoft Corporation Method for providing web-based services to an application program module
AU2001277868A1 (en) 2000-07-11 2002-01-21 Juice Software, Inc. A method and system for integrating network-based functionality into productivity applications and documents
US6944662B2 (en) * 2000-08-04 2005-09-13 Vinestone Corporation System and methods providing automatic distributed data retrieval, analysis and reporting services
US6988241B1 (en) 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
US6779151B2 (en) 2001-01-05 2004-08-17 Microsoft Corporation Storing objects in a spreadsheet
US7082569B2 (en) 2001-01-17 2006-07-25 Outlooksoft Corporation Systems and methods providing dynamic spreadsheet functionality
US6828988B2 (en) * 2001-02-27 2004-12-07 Microsoft Corporation Interactive tooltip
US6684206B2 (en) 2001-05-18 2004-01-27 Hewlett-Packard Development Company, L.P. OLAP-based web access analysis method and system
US20020188629A1 (en) * 2001-05-21 2002-12-12 Burfoot Daniel C. System, protocol, and methods for the creation of distributed spreadsheets
US7761403B2 (en) 2001-06-20 2010-07-20 Oracle International Corporation Run-time optimizations of queries with SQL spreadsheet
US7177855B2 (en) 2001-06-20 2007-02-13 Oracle International Corporation Compile-time optimizations of queries with SQL spreadsheet
US7251776B2 (en) 2001-07-13 2007-07-31 Netview Technologies, Inc. System and method for efficiently and flexibly utilizing spreadsheet information
US20030195762A1 (en) 2002-04-12 2003-10-16 David Gleason Automated workflow
JP3868331B2 (ja) 2002-05-20 2007-01-17 株式会社読売新聞東京本社 データベース登録装置および方法
US20030226105A1 (en) * 2002-05-29 2003-12-04 Mattias Waldau Method in connection with a spreadsheet program
JP2004046657A (ja) 2002-07-15 2004-02-12 Answer:Kk 計算支援方法とその装置、及び計算支援ソフト
US7266763B2 (en) 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions
US20040103365A1 (en) 2002-11-27 2004-05-27 Alan Cox System, method, and computer program product for an integrated spreadsheet and database
US7530012B2 (en) 2003-05-22 2009-05-05 International Business Machines Corporation Incorporation of spreadsheet formulas of multi-dimensional cube data into a multi-dimensional cube
US7299223B2 (en) 2003-07-16 2007-11-20 Oracle International Corporation Spreadsheet to SQL translation
US7233956B2 (en) 2003-08-12 2007-06-19 International Business Machines Corporation Method and apparatus for data migration between databases
WO2005026991A1 (en) 2003-09-09 2005-03-24 Ask Jeeves, Inc. Refinement of web-based search queries
US20060200772A1 (en) * 2003-12-08 2006-09-07 Sathiyamoorthy Dhanapal Procedural computation engine for providing complex calculated data results to an object-oriented server system accessible to service clients and agents over a data packet network
RU36541U1 (ru) 2003-12-23 2004-03-10 Григорьев Евгений Александрович Объектно-ориентированная система управления реляционными базами данных
US7735097B2 (en) * 2004-05-24 2010-06-08 Sap Ag Method and system to implement a deploy service to perform deployment services to extend and enhance functionalities of deployed applications
US7664804B2 (en) 2004-06-01 2010-02-16 Microsoft Corporation Method, system, and apparatus for exposing workbook ranges as data sources
US7991804B2 (en) 2004-07-30 2011-08-02 Microsoft Corporation Method, system, and apparatus for exposing workbooks as data sources
US8578399B2 (en) 2004-07-30 2013-11-05 Microsoft Corporation Method, system, and apparatus for providing access to workbook models through remote function cells
US20060112123A1 (en) 2004-11-24 2006-05-25 Macnica, Inc. Spreadsheet user-interfaced business data visualization and publishing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893123A (en) * 1995-06-22 1999-04-06 Tuinenga; Paul W. System and method of integrating a spreadsheet and external program having output data calculated automatically in response to input data from the spreadsheet
US6157934A (en) * 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation

Also Published As

Publication number Publication date
BRPI0501957A (pt) 2006-03-14
RU2005116530A (ru) 2006-11-20
EP1622016A2 (en) 2006-02-01
BRPI0501957B1 (pt) 2017-06-13
AU2005202285A1 (en) 2006-02-16
JP5154002B2 (ja) 2013-02-27
AU2005202285B2 (en) 2010-06-03
US20090235154A1 (en) 2009-09-17
RU2408074C2 (ru) 2010-12-27
KR101153002B1 (ko) 2012-07-03
CA2508537A1 (en) 2006-01-30
KR20060046283A (ko) 2006-05-17
CA2508537C (en) 2016-10-25
MXPA05005799A (es) 2006-02-01
EP1622016A3 (en) 2007-09-05
JP2006048647A (ja) 2006-02-16
CN1728127A (zh) 2006-02-01
US20130013995A1 (en) 2013-01-10
US9317495B2 (en) 2016-04-19
US8578399B2 (en) 2013-11-05

Similar Documents

Publication Publication Date Title
CN1728127B (zh) 通过远程函数调用提供对工作簿模型的访问的方法、系统和装置
CN101258496B (zh) 用对数据库的查询自动填充
CN1728138B (zh) 用于将工作簿展现为数据源的方法、系统和装置
CN1801137B (zh) 向电子文档中的图表应用全局格式化模式的方法、系统
CN100562871C (zh) 在web浏览器中查看数据表并与之交互的方法和装置
CN101253495B (zh) 电子数据快照生成器
KR101311037B1 (ko) 판독시트 셀 기반 통지
US9348482B2 (en) Modeling system for graphic user interface
CN101650710A (zh) 一种在线软件服务系统及其报表生成方法和装置
CN106886406A (zh) 开发代码或文档的生成方法和装置
US8539514B2 (en) Workflow integration and portal systems and methods
CN105210063A (zh) 为数据可视化推荐基于上下文的动作
CN113298343B (zh) 任务生成方法、任务执行方法及装置
CN114611481A (zh) 模板的配置方法、装置、计算机设备、存储介质
CN114564176A (zh) 一种代码开发方法、服务器及存储介质
CN102591710A (zh) 共享对象表示
CN107798459A (zh) 参数数值计算方法、装置、存储介质和计算机设备
CN102142025B (zh) 构成带有链接的自动创建的视图
CN115629763A (zh) 目标代码的生成方法、npu指令的显示方法及装置
US7469286B2 (en) Data-transparent measurement management system
CN113722334B (zh) 数据处理的方法、装置、电子设备及介质
CN111241089B (zh) Erp系统二次开发方法、系统、装置及可读存储介质
JP5359704B2 (ja) プログラム生成システムおよびプログラム生成装置およびプログラム生成方法およびプログラムならびに記録媒体
CN117435267A (zh) 基于配置文件的表单加载方法、装置、计算机设备及介质
Mihanetzis Towards a distributed information system for costal zone management

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150424

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150424

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.