TWI416342B - 指定、設定以及發現試算表文件之參數的方法及計算裝置 - Google Patents

指定、設定以及發現試算表文件之參數的方法及計算裝置 Download PDF

Info

Publication number
TWI416342B
TWI416342B TW095132059A TW95132059A TWI416342B TW I416342 B TWI416342 B TW I416342B TW 095132059 A TW095132059 A TW 095132059A TW 95132059 A TW95132059 A TW 95132059A TW I416342 B TWI416342 B TW I416342B
Authority
TW
Taiwan
Prior art keywords
parameters
spreadsheet
cells
parameter
model
Prior art date
Application number
TW095132059A
Other languages
English (en)
Other versions
TW200723028A (en
Inventor
Eran Megiddo
Daniel Y Parish
Daniel Battagin
Robert L Archer
Amarinder Singh Grewal
Justin Frederick Rockwood
Sean Boon
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 TW200723028A publication Critical patent/TW200723028A/zh
Application granted granted Critical
Publication of TWI416342B publication Critical patent/TWI416342B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Description

指定、設定以及發現試算表文件之參數的方法及計算裝置
本發明關於指定、設定及發現例如試算表或工作手冊之文件的參數。
試算表軟體,例如MICROSOFT公司的EXCEL軟體,其用於模擬紙張試算表,有時候亦稱之為工作表或工作手冊,其中數字的欄位可以針對預算、計畫、模型及其它工作進行數學運算,例如加總、相乘等。典型的試算表軟體使用者介面在螢幕上會出現成為行及欄構成的矩陣,其交會處稱之為「儲存格」(Cells)。該等儲存格可以填入標記、數值或公式。標記為描述性文字,例如「租金」及「銷售額」。數值為實際的數字資料,而公式則命令試算表基於該等數值執行特定的計算;例如,公式為SUM CELLS A5 TO A10會使得試算表軟體加總在欄A中第5到10行所發現到的儲存格。公式會允許儲存格的相互關係,且它們可以輕易地產生。例如,使用者可以僅指向到一儲存格並點選,然後按下鍵(+,-等)即可對該儲存格進行所想要的任何數學運算。例如,一公式的產生可以是「此儲存格之內容加上此儲存格的內容除以左方下一個儲存格之內容。」
在數字被相加或改變之後,該等公式通常會自動重新計算資料,或在使用者按鍵之後進行。此即造成許多儲存格的一種重新計算「波紋」效應。因為任何儲存格的內容 可以使用任何其它儲存格計算或複製到其它儲存格,一欄的總和可以做為另一欄的細部項目。例如,由一欄費用項目的總和可以移到顯示所有費用的一加總欄。如果在細部欄位中一儲存格的內容改變時,其欄位總和即改變,然後複製到該加總欄,且該加總的總和即改變。
對於銀行家、股票營業員及經濟學家等,像是波紋效應的有力工具可使得使用者產生一個計畫或模型,插入關於該模型的不同假設,即改變參數,即可立即看到對於底線的影響。此「如果這樣?」的能力可使得試算表成為預算、計畫及其它以公式為主的工作不可或缺的工具。因此「如果這樣?」的能力可允許使用者改變一數學模型之底部的參數,例如利率,像是銀行帳戶對於時間的成長。類似地該「如果這樣?」可允許一使用者改變底部的事實,例如開始銀行帳戶結算,關於該等儲存格之公式,例如使用複合利息之公式計算利率,或不使用公式計算,甚至儲存格之名稱來處理不同的數學方案。
因此,關於一試算表之儲存格的任何資訊可以由使用者改變,所以該使用者可以看到在整體模型中變化如何產生影響。但是,事實上通常一旦建立一模型之後,該模型的特定態樣即不意圖要改變。例如,在上述的成長範例中,該使用者可以知道該開始銀行帳戶結算為$2000,此事實將不會改變。因此,該試算表即具有一種不必要的能力來改變這個事實。類似地,在儲存格中具有標記者,當可改變時,即不改變該成長公式計算的結果,即是否某個欄或數 值被標記為「成長速率」或「利率」並不相關於底部的公式。因此,似乎很難來在目前試算表模型當中區別出那些在不同假設之下要調整的參數之儲存格以及那些要做為不可改變之固定元素或是該模型之給定部份的那些儲存格。
此即對於討論中之該試算表的產生者有很好的幫助,因為產生者通常會記得要調整的是那些相關參數。但是,只要無關於其產生的第三方使用者看到該試算表及其所代表的模型,該第三方使用者將必須進行一種很困難的程序來確認那些儲存格要做為參數,那些並不是。例如這些第三方使用者並不知道$2000開始結算為該模型的一給定部份。再者,因為一數學模型要比在此處所給定的成長範例要來得不重要,甚至該模型的產生者會很難記得該文件的那些部份為參數,而那些不是。
因此,目前一試算表的使用者無法明確地指定一試算表的儲存格做為一參數。類似地理由之下,一使用者不能夠發現到該試算表的那些部份為參數。另外,基於類似的理由,一使用者不能夠改變或設定參數,因此即可區別出該模型中不是參數的那些部份。上述相關試算表文件之參數的這些缺點在本技藝中仍未被處理。
另外,傳統上試算表已經成為獨立的應用程式,其中一使用者可以使用具有一處理器的一本地電腦而執行安裝在該本地電腦上的試算表軟體,這就像是上述方案中的狀況。
但是當網際網路的發展及盛行之後,電腦使用者已經 習慣於方便地由虛擬的任何位置而虛擬地存取任何種類的電子文件。特別是網頁("Web")及網頁瀏覽器應用程式之盛行已經可以非常方便地存取到許多種的文件,例如文字及圖形文件。透過一網頁瀏覽器應用程式,一使用者可以存取及檢視許多種的電子文件,而不需要任何額外的軟體,其中包含試算表文件。
因此,例如一使用者可以在一本地機器上產生一試算表文件,「公開」該試算表文件到一伺服器,在其中可讓任何授權的使用者可以經由一網頁瀏覽器檢視該試算表文件。當在網頁瀏覽器中呈現時,該試算表之顯示方式實質上類似於當由一試算表應用程式所顯示的該試算表。但是目前類似於上述的客戶端應用程式之缺點,使用者不能夠在產生一試算表文件來顯示在一網頁瀏覽器上時指定任何的儲存格做為參數。基於類似的理由,使用者不能夠發現到那些參數應用到該試算表,且不能夠設定或改變那些參數。
因此,其目前不可能讓使用者鎖定在一試算表中的一模型,並使得僅有特定儲存格可以編輯。這些有效的儲存格為可以改變的「函數」參數。該試算表模型代表了該函數或多個函數。因為目前有一種方法來鎖定一試算表,並使得僅有特定儲存格可以編輯,此為一種使用者介面(user interface,UI)驅動的鎖定,其中並沒有一種機制來明確地指定一試算表中特定儲存格做為參數,或是使得該機制可追跡儲存格的移動及工作手冊的變化。因為並沒有方法來 指定儲存格做為參數,亦沒有方法來呼叫一試算表來查詢該試算表中可用的參數。再者,對於既有的試算表伺服器產品,其仍不可能編輯儲存格。上述的這些及其它試算表功能性的問題在本技藝中仍是未處理的問題。
基於前述狀況,對於獨立的試算表應用程式及/或網頁為主的試算表服務,本發明提供一種能力來指定、發現及設定試算表文件的參數。在多種非限制性的具體實施例中,當產生一試算表文件時,本發明提供一種能力來指定特定儲存格或儲存格的範圍做為一試算表之參數。再者,不論是在一獨立試算表應用程式或透過一網頁服務來檢視時,本發明提供一種能力來透過該使用者介面或物件模型來發現這些參數。再者,本發明亦提供了可以一次一個或大量地設定或改變這些參數的能力,並可將這些改變應用到該計算模型中。因此,不論是在一獨立試算表應用程式或是透過一網頁服務來檢視時,由使用者輸入之參數的影響即可一次地進行計算及檢視。本發明亦可支援一種能力來暫停一工作手冊的重新計算,直到取得所有相關數值,例如參數。
本發明的其它特徵將在以下說明。
概述
如上所述,不論是基於一種獨立試算表應用程式或是網頁伺服器試算表服務,目前皆不可能讓使用者鎖定在一試算表中的模型,並僅編輯代表參數的儲存格。利用獨立的試算表應用程式,當有方法鎖定一試算表並僅可使特定儲存格進行編輯,這種功能為使用者介面所(UI)驅動,而無關於參數本身。亦沒有辦法呼叫一試算表來查詢其可用的參數。再者,如果能夠呈現試算表文件之網頁為主的試算表伺服器,其目前也無法編輯儲存格。因此,本發明提供一種方法可以在設計期間指定試算表的特定儲存格為參數,所以當該文件透過一獨立應用程式或是網頁為主的試算表服務檢視時,該客戶端或伺服器分別可以發現到那些儲存格為參數,並提供另一種使用者介面(UI)或是物件模型(OM,"Object model"),以編輯那些儲存格被特定指定為參數之數值。
示例性網路化及分散式環境
現在請參考圖式,將進行本發明多種態樣的說明,其中類似的編號代表類似的元件。特別是在第1圖以及相對應的討論皆是要提供一適當的運算環境之簡短及概略性的說明,其中可以實施本發明的具體實施例。當本發明係以在伺服器及個人電腦系統上執行的程式模組之概略本文的方式做說明時,本技藝專業人士將可瞭解到本發明亦可利用其它種類的電腦系統及程式模組來結合式實施。
概言之,程式模組包含例式、程式、組件、資料結構及其它種類的結構,其可執行特定的工作、或實施特定的 摘要資料型態。再者,本技藝專業人士將可瞭解到本發明可實施於其它的電腦系統組態,包含掌上型裝置、多處理器系統、微處理器為主或可程式化的消費性電子產品、迷你級電腦、主機型電腦及類似者。本發明亦可實施於分散式運算環境中,其中工作係由遠端處理裝置所執行,其係透過一通信網路所鏈結。在一分散式運算環境中,程式模組可同時位在本地或遠端記憶儲存裝置中。
現在請參考第1圖,其將說明使用在本發明多種具體實施例中的一電腦2之例示性電腦架構。在第1圖中所示的電腦架構例示了一習用桌上型或膝上型電腦,其中包含一中央處理單元5(central processing unit,“CPU”)、一系統記憶體7,其包含了一隨機存取記憶體9(random access memory,“RAM”)及一唯讀記憶體(read-only memory,“ROM”)11,以及一系統匯流排12,其耦合該記憶體到CPU 5。一含有基本例式的基本輸入/輸出系統,其可協助在電腦內的元件之間傳送資訊,例如在開機期間,其係儲存在ROM 11中。電腦2另包含一大量儲存裝置14,用以儲存一作業系統16、應用程式、及其它程式模組,其皆將在以下做更詳細說明。
該大量儲存裝置14係透過連接到該匯流排12之大量儲存控制器(未示出)而連接到CPU 5。該大量儲存裝置14及其相關的電腦可讀取媒體提供了電腦2的非揮發性儲存元。雖然此處所提供的電腦可讀取媒體之說明係採用了一大量儲存裝置,例如硬碟機或CD-ROM裝置,本技藝專業 人士應可瞭解到該電腦可讀取媒體可為由電腦2可以存取的任何可利用媒體。
例如(但非限制)電腦可讀取媒體可以包含電腦儲存媒體及通信媒體。電腦儲存媒體包含揮發性及非揮發性、可移除及非可移除媒體,其可用儲存資訊的任何方法或技術來實施,例如儲存了電腦可讀取指令、資料結構、程式模組或其它資料。電腦儲存媒體包含(但不限於)RAM、ROM、EPROM、EEPROM、快閃記憶體或其它固態記憶體科技、CD-ROM、數位多功能碟片(digital versatile disk,“DVD”),或其它光學儲存、磁性卡匣、磁帶、磁碟儲存元或其它磁性儲存裝置,或是任何其它可用於儲存所要的資訊之媒體,其皆可由電腦2進行存取。
根據本發明多種具體實施例,電腦2可在透過一網路18(像是網際網路)而使用邏輯連接到遠端電腦的一網路化環境中操作。電腦2可透過連接到匯流排12之一網路介面單元20連接到網路18。其必須瞭解到該網路介面單元20亦可用於連接到其它種類的網路及遠端電腦系統。電腦2亦包含一輸入/輸出控制器22,其用於由一些其它裝置接收及處理輸入,其包含鍵盤、滑鼠或電子針筆(未示於第1圖)。類似地,一輸入/輸出控制器22可提供輸出到一顯示螢幕、印表機或其它種類的輸出裝置。
如上所述,一些程式模組及資料檔案可以儲存在電腦2之大量儲存裝置14及RAM 9中,包含適合控制一網路化個人電腦之運作的作業系統16。大量儲存裝置14及 RAM 9亦可儲存一或多個程式模組。特別是,大量儲存裝置14與RAM 9可儲存一網頁瀏覽器應用程式10。如本技藝專業人士所知,網頁瀏覽器應用程式10可用於要求、接收、呈現及互動式地提供電子文件,例如使用HTML所格式化的網頁24。再者,網頁瀏覽器應用程式10可用於執行在網頁24中所包含的描述語言,例如利用SUN MICROSYSTEMS公司提供的JAVA SCRIPT語言所表達的描述。根據本發明一具體實施例,網頁瀏覽器應用程式10包含由MICROSOFT公司提供的INTERNET EXPLORER網頁瀏覽器應用程式。但是應要瞭解到其它製造商所提供的其它網頁瀏覽器應用程式亦可用於具體實施本發明之多個態樣,像是由MOZILLA基金會所提供的FIREFOX網頁瀏覽器應用程式。
如將在以下所做的較詳細說明,網頁24可包含一試算表文件的可檢視之表示。特別是,網頁24可包含HTML及描述語言,其中當由網頁瀏覽器應用程式10所顯示時,即提供一試算表的視覺顯示。再者,在網頁24中所包含的描述語言可允許該電腦的使用者與由網頁瀏覽器應用程式10所提供的顯示互動,並修改該試算表。由網頁瀏覽器應用程式10所提供的視覺顯示中,使用者亦可被允許要求該原始試算表檔案在一試算表應用程式26中開啟。回應於這種要求,試算表應用程式26將會啟動,而由網頁24所表示之對應於該試算表之原始試算表檔案將由該試算表應用程式26所載入。試算表應用程式26可包含由MICROSOFT 公司所提供的EXCEL試算表應用程式,或是由另一個製造商所提供的另一種試算表應用程式。現在將參考第2圖進行說明關於由一網頁瀏覽器應用程式10的內文中進行一試算表之檢視與互動之處理的額外細節。
現在請參考第2圖,其將說明在本發明多種具體實施例中的一作業環境的網路架構圖。如第2圖所示,電腦2連接到一網路18。亦連接到網路18的是一應用程式伺服器30。應用程式伺服器30包含一伺服器電腦,其可包含上述關於第1圖中所述的部份或全部的習用運算組件。此外,應用程式伺服器30可用於執行一網頁伺服器應用程式,以接收及回應於儲存在應用程式伺服器30上並可存取之文件之要求。再者,應用程式伺服器30可用於接收及回應由網頁應用程式34所產生的頁面之要求。其應可瞭解到網頁應用程式34可包含在應用程式伺服器30處可執行的程式碼、用於通信於其它電腦的可執行碼,並可包含本技藝專業人士所熟知的樣板、繪圖、音效檔案及其它內容。
根據本發明一個態樣,網頁應用程式34係用於提供電腦2之使用者的一個介面,並與透過網路18可存取之試算表或工作手冊互動。特別是,網頁應用程式34利用了一伺服器應用程式化介面(application programming interface,“API”)38。根據本發明此具體實施例,伺服器API 38可用於構成與一試算表計算伺服器32之通信。試算表計算伺服器32係用於執行一試算表計算伺服器程式40。試算表計算伺服器程式40包含一可執行程式,用於擷 取及計算試算表,以及像是儲存在資料庫42中的工作手冊44。其應可瞭解到在此處所述之本發明具體實施例中,試算表計算伺服器程式40包含一計算伺服器(在此簡稱CS,“Calculation server"),例如MICROSOFT公司所提供的EXCEL CALCULATION SERVER程式。但是,亦可利用其它可計算在一伺服器電腦上的試算表之程式。其應可瞭解到計算伺服器32可包含許多上述關於第1圖所述的習用硬體及軟體組件。
如以下較詳細說明所述,電腦2可傳送一要求給應用程式伺服器30來在網頁瀏覽器應用程式10之內文中檢視工作手冊44。回應於這種要求,網頁應用程式34透過伺服器API 38與計算伺服器32通信。特別是網頁應用程式34向計算伺服器32要求適當的工作手冊44。如以下詳細討論,回應於這種要求,計算伺服器程式40擷取工作手冊44,並轉換工作手冊44成為一試算表文件格式,例如XML為主的文件格式。如本技藝專業人士所熟知,XML為主的格式包含用於表達一試算表內容之審定語言架構。一旦試算表計算伺服器程式40已經轉換所要求的工作手冊44成為試算表文件格式,該試算表文件格式化檔案即傳回到網頁應用程式34。
一旦網頁應用程式34已經自計算伺服器32接收工作手冊44之試算表文件格式化表示,應用程式伺服器30利用試算表網頁呈現器36來轉換該格式化的試算表成為可由網頁瀏覽器應用程式10所呈現的試算表之表示。特別 是,試算表網頁呈現器36轉換該格式化的文件成為一包含HTML的文件,即可由網頁瀏覽器應用程式10呈現來顯示該試算表。再者,根據本發明之具體實施例,試算表網頁呈現器36能夠輸出HTML其可在當由網頁瀏覽器應用程式10呈現時,實質上呈現類似於當使用試算表應用程式26之輸出來檢視相同的工作手冊44。一旦試算表網頁呈現器36已經完成呈現該檔案,即由應用程式伺服器30傳回到電腦2,其中可由網頁瀏覽器應用程式10所呈現。
如以下的詳細討論,試算表網頁呈現器36亦可用於呈現在該審定語言檔案中一或多個描述語言,以允許電腦2之使用者與在網頁瀏覽器應用程式10之內容中的試算表互動。為了提供此功能,試算表網頁呈現器36用於呈現描述碼,其可由網頁瀏覽器應用程式10執行到所傳回的網頁中。該描述語言可提供的功能例如允許一使用者檢視該試算表的一較大部份,以修改在該試算表內所包含的樞紐表,並載入在該試算表應用程式26中該試算表的原始版本,並執行其它功能。
為了提供與網頁瀏覽器應用程式10之內容中的試算表之互動性,網頁瀏覽器應用程式10接收使用者輸入。回應於特定種類的使用者輸入,即可執行該等描述語言。當執行一描述語言時,一回應可被傳送到該應用程式伺服器30,代表在該試算表內的一元件已被啟動,以辨識已經進行之互動的種類,並另辨識網頁應用程式34之函數,其必須被執行到適當的元件上。回應於接收到這種要求,該網 頁應用程式可對一更新的工作手冊44進行額外的要求給計算伺服器32。回應於此,試算表計算伺服器程式40可從使用者行為的角度重新計算工作手冊44,並提供該更新的工作手冊之試算表文件格式化表示到網頁應用程式34。試算表網頁呈現器36即用於呈現該更新的工作手冊成為可由網頁瀏覽器應用程式10呈現的一格式。然後網頁應用程式34即用於傳送該更新的試算表到電腦2,其可由網頁瀏覽器應用程式10呈現。此程序可以重覆任何次數,而讓使用者可與網頁瀏覽器應用程式10之內容中的試算表互動。當一使用者完成編輯在網頁瀏覽器應用程式10內的試算表時,對於試算表所做的任何改變可以透過任何一個或多個網頁應用程式34及計算伺服器32傳遞,並到達儲存在資料庫42中的工作手冊44。關於這些不同程序之額外細節,包含了示例性的指定、發現及設定工作手冊參數等皆在以下提供。
指定、發現及設定試算表文件參數
現在請參考第3A圖及第3B圖,將說明一例示性例式300,其中說明了用於檢視與互動於一網頁瀏覽器應用程式之內容中的一試算表的程序。其必須瞭解到雖然此處所述之本發明具體實施例係表示成一網頁瀏覽器應用程式之內容,本發明可以運用成任何種類之可支援呈現審定語言文件的應用程式。例如,此處所述的本發明具體實施例可以用於一個人資訊管理者應用程式中,一簡報應用程式,一繪圖或電腦輔助設計應用程式,或一資料庫應用程式,藉 以允許呈現與互動於一文件,而不需要一專屬的應用程式。
當閱讀此處所提出之例式的討論時,其應瞭解到本發明之不同具體實施例的邏輯運作係實施成(1)一序列的電腦實施作業、或在一電腦系統上執行的程式模組,及/或(2)內連接的機器邏輯電路或在該運算系統內的電路模組。該實施為根據實施了本發明之運算系統的效能需求的選擇結果。因此,在第3圖及第6圖中所示的邏輯作業以及構成此處所述之本發明的具體實施例皆可參照到多種的作業、結構化裝置、動作或模組。本技藝專業人士將可瞭解到這些作業、結構化裝置、動作及模組可以實施成軟體、韌體、特定目的之數位邏輯、及其任何的組合,而並不偏離在此處附屬之申請專利範圍所述的本發明之精神與範圍。
例式300開始於作業302,其中客戶端電腦2傳送對該工作手冊44之要求到應用程式伺服器30。該要求可由電腦2回應於一使用者要求透過網頁瀏覽器應用程式10傳送,而工作手冊44可被開啟來在網頁瀏覽器應用程式10中檢視與編輯。其必須瞭解到應用程式伺服器30可提供一網頁為主的介面30,以允許一使用者檢視可用的工作手冊,並選擇工作手冊之一進行檢視與編輯。
自作業302之後,例式300繼續到作業304,其中應用程式伺服器30傳送一要求到工作手冊44之計算伺服器32。特別是網頁應用程式34可利用伺服器API 38來聯繫試算表計算伺服器程式40。透過此通信路徑,可對工作手冊44進行要求。
自作業304之後,例式300繼續到作業306,其中試算表計算伺服器程式40由資料庫42擷取所要求的工作手冊44。然後試算表計算伺服器程式40在作業308中計算工作手冊44之內容。計算作業308可包含類似於當重新計算工作手冊44時由一試算表應用程式26所執行的那些計算。
一旦計算伺服器32已經計算工作手冊44之後,試算表計算伺服器程式40亦可用於轉換所計算的工作手冊成為一適當的格式,例如一XML為主的格式。一XML或審定為主的格式包含一種審定語言方案來描述一試算表的內容。其必須瞭解到根據本發明的多種態樣,僅有工作手冊44的一部份被轉換成XML格式。此僅允許試算表的一可顯示部份被傳回到電腦2。額外的部份可透過由網頁24所提供的介面來做要求。另外,整個工作手冊44可轉換成XML格式,並傳回到應用程式伺服器30。
在作業312中,計算伺服器32回應來自具有XML格式化之工作手冊的應用程式伺服器30的要求。然後例式300繼續進行作業314,其中在應用程式伺服器30上執行的試算表網頁呈現器36轉換XML格式化的工作手冊成為可由網頁瀏覽器應用程式10呈現及顯示的一種格式。特別是,試算表網頁呈現器36轉換該XML工作手冊成為同時包含HTML及描述語言的一網頁24。HTML由網頁瀏覽器應用程式10用來顯示所要求之工作手冊44的內容。該描述語言可由網頁瀏覽器應用程式10使用來允許一使用者 與在網頁瀏覽器應用程式10之內容中試算表的呈現版本做互動。
自作業314之後,例式300繼續到作業316,其中該應用程式伺服器回應於來自電腦2之對於工作手冊44的原始要求。特別是,應用程式伺服器30傳送網頁24到電腦2,其中包含了必要的HTML及描述語言來檢視與互動於在網頁瀏覽器應用程式10之內容中的工作手冊44。
一旦電腦2已經接收到網頁24,網頁瀏覽器應用程式10即用於呈現網頁24的內容。特別是,HTML即被呈現出來,藉以提供工作手冊44之一檢視,其實質上類似於由試算表應用程式26所提供者,如果相同的工作手冊44利用試算表應用程式26來開啟時。再者,網頁瀏覽器應用程式10用於呈現該等描述語言,所以電腦2的使用者可以與在網頁瀏覽器應用程式10之內容中的試算表做互動。
現在請參考第3B圖,將說明一例示性例式320,其說明了本發明之不同態樣來允許一使用者互動於由網頁瀏覽器應用程式10之內容中所呈現的工作手冊。例式320開始於作業322,其中所呈現的網頁24的內容包含了用於顯示網頁所必要的HTML,以及用於允許使用者與該試算表互動所必要的描述語言。然後例式320繼續到作業324,其中網頁瀏覽器應用程式10接收使用者輸入來互動於所顯示的試算表。例如,網頁瀏覽器應用程式10可由使用者輸入接收以修正一樞紐表的內容、要求顯示出在一工作手冊中的另一個試算表,並儲存對該試算表的任何修正,或是 用於執行其它功能。其必須瞭解到一或多個描述語言可由網頁瀏覽器應用程式10所執行,以接收該輸入,並執行與應用程式伺服器30的通信,其為造成該互動可以執行所必須。
一旦在作業324中已經接收到來自一使用者的輸入,適當的描述語言即傳送資料到該應用程式伺服器30,以在作業326中辨識由使用者所採取的特定動作。在作業328中,應用程式伺服器30決定了由使用者所採取的特定動作。一旦已經辨識到所要求的動作,應用程式伺服器30傳送一命令給計算伺服器32,以要求在該特定工作手冊上採取特定的動作。如上所述,應用程式伺服器30透過伺服器API 38聯繫計算伺服器32。
回應於接收到來自應用程式伺服器30之要求以執行對目前工作手冊的一命令時,試算表計算伺服器程式40即對工作手冊44執行所要求的動作。例如,如果一使用者已經要求要重新排列在一樞紐表中的元件時,試算表計算伺服器40即執行該等元件的實際重新排列。一旦已經執行了該動作,試算表計算伺服器程式40在作業332中重新計算工作手冊。重新計算的工作手冊透過網頁瀏覽器應用程式10反應了由使用者所做的改變到目前開啟的工作手冊。
一旦在334中已經重新計算了工作手冊44,計算伺服器32轉換重新計算的工作手冊成為XML格式。此程序在以上參考第3A圖做說明。一旦重新計算的工作手冊已經轉換成XML格式,重新計算的工作手冊即由計算伺服器 32傳送到應用程式伺服器30。在應用程式伺服器30處,試算表網頁呈現器36轉換重新計算的試算表之XML版本成為可由網頁瀏覽器應用程式10呈現的一種格式。然後重新計算的試算表之可呈現的版本即傳送到網頁瀏覽器應用程式10中以呈現及顯示給一使用者。此程序在以上參考第3A圖及作業312-318做說明。現在將在以下進行根據本發明之指定、設定及編輯與發現工作手冊參數的程序之示例性非限制性實施細節進行詳細說明。
工作手冊參數之指定、設定、編輯與發現
如上所述,根據本發明,一工作手冊的作者可以指定儲存格及/或過濾器做為可編輯的參數。除此之外,一伺服器(例如試算表應用程式伺服器)可透過一網頁瀏覽器呈現試算表文件來顯示,即可透過使用者介面(UI)及透過網頁服務應用程式化介面(API)暴露之可編輯的參數。在本發明一個態樣中,一試算表客戶端藉由允許指定儲存格及過濾器做為參數而製作工作手冊參數的經驗。
如在先前技術中所述,目前的應用程式伺服器無法允許儲存格數值的行內編輯,但是有許多種強大的顧客方案可以有能力改變儲存格數值的特定子集合。此包含了例如簡單的良好定義之計算模型(例如房貸計算器)、及如果這樣的分析(例如改變年營業額之每年的成長率)。這種特徵可以同時由想要改變數值做為應用程式伺服器網頁呈現經驗的一部份之終端使用者以及由網頁服務API發現、擷取及設定/編輯特定參數數值來使用到。
根據本發明之試算表客戶端應用程式提供了使用者多種方法來指定那些儲存格為參數。然後使用者可以發現到那些儲存格為參數,並編輯相對應的儲存格。在本發明一具體實施例中,當僅有伺服器暴露出參數時(其中該客戶端的參數指定功能成為公開工作手冊到該伺服器之一部份時),本發明考慮到其它的具體實施例,其中一試算表客戶端應用程式亦暴露該等參數,即允許發現、擷取及設定參數。
在此所述者為允許工作手冊作者在試算表客戶端中指定特定的儲存格為參數的技術。然而該應用程式伺服器可透過UI或OM支援在這些儲存格中改變該等數值。這些功能亦可由試算表客戶端所支援。
本技藝專業人士應可瞭解到有多種方法可暴露參數給一使用者。例如,在一示例性非限制性具體實施例中,可利用一儀表板。例如現今的儀表板,例如商業智慧(business intelligence,BI)儀表板,及使用多種資料呈現網頁部份來構建(例如來自SQL伺服器報告服務之Office Web Components(OWC)),且其會需要同步地過濾掉所有不同的資料檢視。此可由鏈結所有網頁部份到一單一「參數」值來達到。
因此試算表工作手冊根據本發明可被加入到這些儀表板中,所以該等工作手冊可以排除類似的頁面層級過濾器及參數、進行以下的方案,其每一個皆為示例性且非限制性:(1)在試算表客戶端中提供終端使用者UI及OM來定 義特定儲存格為參數,(2)保留在試算表檔案中的參數資訊,所以應用程式伺服器可以透過UI及網頁服務API暴露該等參數,(3)設計該特徵UI及進入點,使其對終端使用者可清楚該等特徵係要用於試算表客戶端/伺服器方案,以及(4)致能應用程式伺服器方案,其中包含使用一過濾器(或切割器)網頁部份來建構BI儀表板,用於根據在該系統的許多部份之間的適當通信來驅動工作手冊參數。在一個態樣中,因此本發明提供了一種切割器控制,可提供數值給參數。
例如,假設一公司收集資料,並基於製造商的銷售點資料、華爾街分析師、營業員及零售商產生試算表報告,且這些報告透過網頁以HTML檔案散布。做為HTML檔案,這些報告為完全靜態,並沒有方法過濾資料,或在該報告中探究資料,藉以找出對於一商業問題的答案。為此原因,該公司對於它的客戶要產生超過100萬份的報告,所以如果客戶想要幾乎任何可想像得到的報告,即皆可取得。此結果為僅有3-5%的所產生的這種公司報告係以持續的基礎來使用,且當需要這些公司並未預期的必要微小修正時,一分析師必須人工地製作及執行新的報告,此即為一昂貴且耗時的程序。
利用本發明之應用程式伺服器及試算表網頁部份,這些公司將可大為降低為他們的客戶所要產生之報告的數目,其將可同時節省公司費用,並使其客戶可容易地找出他們所要尋找的資訊。除了產生所有客戶會想要的可想像 得到的報告之外,利用本發明,該公司將可產生一基本的報告組合,其係由正確的資料來源抽出資料到伺服器上的試算表工作手冊。這些報告將為基本報告,例如“YTD Sales”,其中客戶將可輕易地瞭解,而不需要許多目前的報告(如“YTD Sales NW,”“SW,”“NE,”“SE,”“By Product,”“By Product NW,”“By Product NE,”“By Product SW,”“By Product SE”等)。利用簡單的參數化,客戶將能夠客製化這些報告,並在多種面向上過濾,藉以看到他們最有興趣要看到的資訊。另外,如果一客戶想要看到一特定報告的更深入部份,或是一特定產品線的「前十大」,該客戶將可以在既有的報告中立即進行,並將不需要要求由該公司產生一新的報告。
對於本發明之另一示例性用途,John可對其上層管理階層產生每周的營業報告。目前,John具有連接到外部資料的一工作手冊,且他每周可更新該資料,然後由他們所使用的多個區域所過濾的工作手冊中採取數個圖像。然後他貼上這些影像到一電子郵件,並傳送該總結郵件給管理者。
但是在安裝了本發明的試算表軟體之後,John可重新製作他的工作手冊,以使其比以往更容易閱讀。他亦可使一單一儲存格表示出在其工作手冊之上的區域。於公開動作到一試算表伺服器期間,John設定特定儲存格成為參數,並決定要設定該區域儲存格為一工作手冊參數。當該工作手冊載入到應用程式伺服器中時,他的管理者看到一 新的工作板出現,其中包含一可編輯的區域欄位。管理者可以輸入不同的區域,點選「應用」,並檢視對於他們所輸入的區域之更新的資料及工作手冊。
在另一範例中,Samantha正在為她的組織中的資深副總建構一儀表板,並需要它顯示出關鍵效能指標(key performance indicator,KPI)、圖形及資料表,其皆可建構成一單一、簡單可管理的過濾器控制。Samantha設定具有數個應用程式伺服器、一些KPI及一過濾器(切割器)控制的頁面。然後Samantha討論並指定該過濾器控制來驅動該專案名稱的過濾器數值到該頁面上的多個部份。此可允許該等管理者過濾不同的專案,並因此在該儀表板更新上看到所有的部份。
在一非限制性具體實施例中,僅可選擇儲存格的一子集合做為參數。它們如何被選擇,以及何時及何處要儲存可用參數的列表,以及關於該參數特徵的OM皆在以下詳細說明。
在一具體實施例中,由公開一文件的使用者所決定的對話盒中,用於指定工作手冊參數的UI包含兩個對話盒:一對話盒顯示了在該工作手冊中既有的定義參數,而一對話盒具有可用名稱參照的一列表,以選出參數(其中並非所有的儲存格可被選為參數,雖然如上所述,此並非必要)。
該對話盒初始為該公開/管理伺服器設定對話盒之一部份,並可為任何適當的型式,例如一並列的對話盒,既有的排序對話盒(具有順序化能力)等。
在輸入時,於目前工作手冊中所定義的目前參數即載入到一列表中。如果在目前工作手冊中未定義有參數,該列表即為空的。在任一例中,於第一次進入該對話盒時在該列表中未選擇參數。
在一種示例性非限制性實施中,該參數列表包含下列任何一或多項:(A)名稱:所採用參數的名稱(預設該列表可用名稱的字母順序(A-Z)儲存),(B)數值:傳回一字串常數,即該名稱所參照的目前數值,或是一錯誤碼,(C)註釋:相關該名稱的任何註釋,及(D)參照:該名稱目前所參照到的該參數所基於的名稱。
在一非限制性具體實施例中,該參數列表之功能類似於一標準列表控制。例如,其有可能藉由單一點選對於該參數在該列表中選擇一或多個參數(在該行中任何地方),且可利用滑鼠及鍵盤進行多重選擇,其類似於正常列表控制行為。例如,可選擇一參數(例如利用該滑鼠指標或箭頭鍵),除了已經被選擇的任何其它參數之外,可選擇該參數,除了已經被選擇的任何其它參數加上在該選擇與一先前選擇之間的參數之外,可選擇該參數,且參數可利用滑鼠指標由點選拖曳來選擇。
在其它的非限制性具體實施例中,一「加入」按鈕或功能檢查來找出是否有至少一有效名稱,且開啟一加入參數對話盒,且一「刪除」按鈕允許該使用者刪除先前加入的一或多個參數。類似地,當選擇一或多個參數時按下「刪除」按鈕將會啟始那些參數的刪除(由該列表中並在儲 存該檔案時)。當由該加入參數對話盒傳回時,在一示例性非限制性具體實施例中,所檢查的該等參數係位在該列表的底部,並根據它們出現在該加入參數對話盒的相同順序來排序。
在一示例性非限制具體實施例中,一使用者可使用向上及向下箭頭按鈕排序參數,且在另一範例性非限制具體實施例中,如果參數可實施成一種排序參數的手段時拖曳及放下。
對於儲存參數,即可利用用於使用該工作手冊儲存及關連該等指定的參數之任何習用已知的手段。對於一示例性非限制實施,工作手冊參數可儲存在一文件性質中,例如一隱藏文件性質,及/或在該工作手冊檔案中。前者允許由該應用程式伺服器簡單地摘取該等參數,並可以快速地擷取來利用切割器控制及額外的解決方案來設定儀表板。當儲存或公開一檔案時可以儲存工作手冊參數。
在一示例性無限制具體實施例中,對於每個參數儲存的資訊係相同於對於每個使用者輸入的資訊,雖然亦可儲存額外的資訊,即參數儲存格式可根據本發明擴充。以下的性質亦可對於每個參數來儲存:所定義的名稱、及該等名稱將會出現在該應用程式伺服器UI或OM中的順序。
例如,非限制具體實施例、在該工作手冊層級之ServerParameters之ServerParameters集合可包含下表I所示,且該ServerParameters物件可包含下表II中的成員:
透過應用程式伺服器編輯一儲存格的內容
此段落概略說明了一使用者能力來經由該應用程式伺服器編輯一儲存格的內容,其係透過一SharePoint Portal Server(SPS)過濾器、或是一應用程式伺服器本身的工作手冊參數工作格。但是一般本技藝專業人士可以瞭解到用於編輯一儲存格之內容的另一種已知的機制可以根據本發明來使用,且以下的實施細節可為了例示的目的來提出。
對於特定背景,SPS係用於由一試算表伺服器所執行的特定工作。該應用程式伺服器,如在此處的示例性具體實施例所述,及為一網頁部份,除此之外,其可例如呈現 試算表工作手冊成為動態超文字審定語言(dynamic hypertext markup language,DHTML)。該計算伺服器(CS)為計算引擎,且通常包含一試算表伺服器之後端組件。如此處所述,一網頁前端(WFE)包含該試算表伺服器之字型面對組件,其包含:應用程式伺服器、應用程式化介面(API)及代理主機。
如在先前段落中所述,根據本發明之工作手冊參數包含一種方法讓一工作手冊作者在他們的工作手冊中選擇儲存格的次集合,並將它們標示為可由使用者編輯。然後這些儲存格即儲存在該工作手冊之文件性質中,並可透過該應用程式伺服器本身中的一工作板或是透過一SPS過濾器而暴露給該終端使用者。此段落說明了那些解決方案的多種示例性非限制實施。
第4A圖所示為根據本發明之例示具有參數之應用程式伺服器的一示例性非限制UI螢幕影像。利用本發明,使用者能夠使用該應用程式伺服器設定參數,而不需要一組件下載。
在此方面,本發明支援多種參數化方案,所以使用者能夠完成共用工作,而不需要傳回到該試算表客戶端軟體。例如,參數化將可配合此處所述之SPS切割器介面工作。在此態樣中,本發明允許使用者由該應用程式伺服器中取得參數,以驅動其它網頁部份。
對於可根據本發明之應用程式伺服器達到的一些示例性非限制方案,可考慮使用可編輯儲存格建立一工作手冊 的工作。例如,假設John對於他的上層管理者產生每周的銷售報告。目前,John具有連接到外部資料的一工作手冊,且他每周可更新該資料,然後由他們所使用的多個區域所過濾的工作手冊中採取數個簡要印象。然後他貼上這些影像到一電子郵件,並傳送該總結郵件給管理者。
但是在安裝適當的軟體之後,John跳到該工作表資料時尚,並使用工作表資料重新製作他的工作手冊,以使其比以往要容易閱讀。他亦可使一單一儲存格表示出在其工作手冊之上的區域。在公開到試算表伺服器期間,John瞭解到他可透過本發明設定特定儲存格成為參數,並決定設定該區域儲存格做為一工作手冊參數。當該工作手冊載入到應用程式伺服器中時,John會很興奮地看到一新的工作板出現,其中包含一可編輯的區域欄位。John輸入'South'並點選'Apply',並利用對於南部區域皆更新的資料來在當應用程式伺服器更新時進行檢視。現在,John並不需要再次送出這些每周狀態郵件。
對於另一個方案,本發明可以建立一儀表板。例如,Sam正在為他的組織中的資深副總建構一儀表板,並需要它顯示出關鍵效能指標(KPI)、圖形及資料表,其皆可建構成一單一、簡單可管理的過濾器控制。根據本發明,Sam使用數個「裸露的」應用程式伺服器、一些KPI及一SPS切割器控制來設定一頁面。然後Sam討論及指定該切割器控制來由該頁面上所有不同部份中採用過濾器數值,並指定它們當中每一個到一單一「報告」控制。
現在,當一副總進入到該儀表板頁面,並由該列表中選擇一報告,所有的工作表、圖形及KPI指標更新來反應在該報告中的資料,因為Sam基於所選擇的報告已經設定所有的工作手冊到過濾器。
根據本發明之示例性非限制實施,工作手冊參數可以儲存成文件性質,且CS包含有能力來透過一私有API施加改變到工作手冊性質到該CS。
在一具體實施例中,本發明提供一種介面來透過一轉換器可存取到一參數,且每當該使用者提交該頁面時該數值即設定其在該切割器中。
為了在SPS切割器及本發明的一控制之間設定一連線,在本發明的一示例性非限制具體實施例中,該使用者進入到該頁面的設計模式,且該應用程式伺服器已開啟,且開始放下過濾器控制到該「過濾器網頁部份區域」。然後該使用者可以點選在該控制之右上方的一箭頭,且在此放下時,它們將選擇連線,以及來自連線的飛出功能表包含一「取得過濾器數值」選項,其再次會造成一飛出到{SpreadsheetWebRenderer}。
在該使用者選擇應用程式伺服器之後,它們即被提示來由該應用程式伺服器正暴露的一未指定參數的列表中選出,或是如果它們嘗試要設定來自一多重數值的過濾器控制的連線,它們接收一訊息來告訴它們該應用程式伺服器並未暴露任何多重數值的參數,且它們將不能夠使用該過濾器控制設定一連線到該應用程式伺服器。假設它們嘗試 要由一單一數值控制設定一連線,該使用者將會由該列表選擇一參數,且該控制即被考慮要設定。在一非限制具體實施例中,如果一參數連線到一過濾器控制,且該工作手冊參數工作板為可見的,其在工作板中即成為除能。
在一非限制具體實施例中,單一儲存格參數自該切割器接受一單一數值,且其為為何對於每一個參數,本發明傳送一'SupportsSingleValue'旗標給該切割器。此代表該切割器僅允許該使用者設定來自單一數值的過濾器元件之連線到單一儲存格的參數。
在一示例性非限制具體實施例中,數值即以名稱-數值配對傳送到CS,所以並非所有參數需要傳送到該CS,且它們的順序並不重要。適當的錯誤處理可以根據本發明在一誤動作的事件中應用。
在本發明的示例性非限制具體實施例中,一擴充/崩潰棒即提供在該工作手冊參數工作板的側邊,例如左或右配置,但在該工作表之右方或左方(分別地),並允許使用者隱藏或顯示該工作板。該工具棒可放置在擴充/崩潰棒及該工作手冊參數工作板上方。
該擴充/崩潰棒包含一影像,其係根據是否該工作板會崩潰或擴充,且該影像同時位在垂直及水平的中央。在示例性非限制具體實施例中,所使用的影像如下:當該工作板為可見時即點選該擴充/崩潰棒,將其隱藏,並移動該擴充/崩潰棒在該應用程式伺服器之右方遠端邊緣(或是在由右到左方(right to left,RTL)模式中的左 緣),且該格點與工作表導引棒之寬度會隨其成長。當該工作板為隱藏時即點選該擴充/崩潰棒,將其顯露,並移出該擴充/崩潰棒,且收縮該格點及工作表導引棒之寬度。
該使用者亦必須能夠拉到該擴充/崩潰棒,並使用輸入鍵操作它。
該工作板的狀態,在當其崩潰或擴充時,即透過後送到該CS來保存。因此,如果該使用者崩潰該工作板,然後執行需要一後送到CS之動作,當該頁面重新載入時,該工作板仍維持崩潰。
在一示例性非限制具體實施例中,該工作手冊參數工作板開始可以看到,並在該應用程式伺服器中所有控制的右方(在RTL模式中為左方),除了工具棒之外(其中係置於下方)。
所要顯示的參數,以及要在相對應文字方塊中顯示者,皆由CS傳送到該應用程式伺服器。在不同的非限制具體實施例中,於該工作手冊參數工作板的本體中為已命名的範圍名稱及文字方塊,其中使用者可以輸入資料。
為了例示性目的,該工作板之UI的示例性實施可見於第4B圖。當一使用者首先開啟該應用程式伺服器,如果有此工作手冊的參數及工作手冊參數工作板並未經由網頁部份性質除能,則該工作手冊參數工作板即開始可見到。在一具體實施例中,該等參數在該工作手冊參數工作板中的顯示順序係相同於它們被CS傳送到該應用程式伺服器之順序。
在其它具體實施例中,該說明性質在當該使用者徘徊在該文字方塊的一圖示上方時即顯示成一工具提示TTIP(tooltip),如第4C圖所示。所使用的圖示可以相同於在該試算表中所使用者,以告知該使用者該儲存格有註釋。因為該說明性質為選擇性,如果未提供說明數值時,即不會顯示此圖示,且不會顯示工具提示。該滑鼠游標可以選擇性地在當跨越此影像時維持一指標。
如果有更多的參數可符合於工作板中,在本發明一具體實施例中,一滑動棒會出現,以僅覆蓋了包含該等參數及其數值之工作板的段落。如果該使用者正在該檢視者頁面中檢視具有參數的一工作手冊,該工作板將成為可見。該使用者可以使用擴充/崩潰棒來隱藏或顯示此工作板。該資訊棒具有兩種狀態:一種為當該頁面在設計模式時,另一種為當該頁面在檢視模式時。
可由本發明支援的另一種參數為PivotTable頁面欄位,其可接受多重數值。
計算伺服器的運作,及與應用程式伺服器的互動
如上所述,根據本發明,一試算表伺服器包含有能力來參數化工作手冊。透過該應用程式伺服器呼叫應用程式包含有能力來要求一參數列表,並設定它們的數值。如上所述,該應用程式伺服器包含一網頁呈現器,用以透過網頁呈現工作手冊。在這方面,參數使得工作手冊作者可產生一單一樣板試算表,其可基於一單一或多重參數的數值來快速地改變其內容。
例如,一工作手冊作者設計了一貸款計算器,並產生利率、本金與頭期款參數。該使用者應用該等參數及儲存格計算及傳回適當的結果。參數亦允許該應用程式伺服器參與在商業智慧(BI)儀表板方案,其中一單一網頁由多個網頁部份構成,其基於一切割器的數值同步產生。
一BI儀表板為一種工具,用以傳送狀態,並驅動動作,且經常為報告、圖表、度量及關鍵效能指標所呈現的量化資訊的混合,而品質分析則呈現為該儀表板作者對於所提供之量化資料的註釋。
一工作手冊參數為相關一工作手冊的變數,其可由呼叫該應用程式伺服器被發現及設定。就內部而言,一參數為一單一儲存格命名的範圍,其已經被「標記」為一參數。
儀表板的能力之一為它們可基於一參數的數值被過濾或切割(使用該切割器網頁部份)。對於在應用程式伺服器中呈現為BI儀表板之一部份的工作手冊,該應用程式伺服器必須「更新」來反應已經被指定給BI儀表板之參數。
為了此目的,根據本發明對於網頁部份所提供的一種機制係要傳送它們包含的那些參數,及設定它們數值的一機制。
對於要參與在此方案中的試算表伺服器,當一使用者改變一參數時(例如在一Sharepoint切割器部份),在應用程式伺服器中顯示的試算表工作手冊即反應該切割器的數值。
如此處所述,呼叫應用程式(應用程式伺服器)可要求 該伺服器之相關一工作手冊之參數列表。在一示例性具體實施例中,即使設定一參數值即有效地均等於設定一儲存格的數值,錯誤訊息係提供給使用者傳送已失效的一參數作業,而並非設定已失效的一儲存格數值。
在本發明另一態樣中,關連於設定參數之工作手冊作業即被最佳化。例如,不論該計算模式為何,計算會被暫停,直到已經設定所有參數數值。此外,本發明可保證該參數(例如命名的範圍)之定義在當載入該工作手冊時仍可滿足做為一參數的需要。此外,呼叫應用程式(應用程式伺服器)可以設定一參數的數值(單一)。
這些儀表板的消費者將導引到該儀表板,並能夠改變在該參數網頁部份中的「專案」參數。一旦改變該專案參數,在該頁面上所有的網頁部份(包含應用程式伺服器及報告服務呈現網頁部份)更新,以反應該儀表板消費者所選擇相關該專案的資料。對於應用程式伺服器,工作表資料公式可以用於採取該參數儲存格之數值做為該等函數的一輸入。
一貸款計算器需要數個參數成為輸入,藉以決定每月付款。在此方案中,某人製作一工作手冊,並產生了本金、利率、貸款期間及頭期款的命名範圍。然後該使用者按下該應用按鈕,且該工作手冊被計算來顯示給他們每月付款。
對於擷取參數資訊,該計算伺服器(CS)提供一種構件來呼叫應用程式來擷取參數資訊,其中包含下列中任何一或多項:參數名稱、在該工作手冊中參數的順序(為了應用 程式伺服器在所提供的順序中列出它們),該參數的目前數值,及參數說明。
該參數的名稱為其所佔據的命名範圍之名稱。該參數順序為為了顯示目的所定義的參數順序,並可用多種方式及格式來定義。該CS可傳回此資訊到呼叫應用程式(應用程式伺服器)。除了該參數的目前數值,每個參數具有一選擇性的說明,其中該CS亦可傳送到該呼叫應用程式(應用程式伺服器)。
該CS提供給該應用程式伺服器一構件來對於該工作手冊中每個參數設定參數值。在一單一呼叫到CS時,可以設定一或多個參數值。如所述,在本發明一態樣中,計算可以暫停,直到所有參數值被設定為一後送的一部份。設定參數數值係均等於透過SetCell()方法設定在儲存格中的數值。
依照需要,該CS將不會不言明地或明確地基於該參數的數值改變在該伺服器上的數字格式。
對於當一工作手冊被開啟時暫停計算及資料更新,本發明的CS支援了能力來在該工作手冊被計算或資料被更新之前設定儲存格數值,而無關於該工作手冊的計算模式或資料更新設定。一旦設定該等參數,該工作手冊傳回該計算模式,其中其被製作。
在一具體實施例中,該應用程式伺服器傳送參數做為所開啟工作手冊的一部份,而當在具有預設值之頁面上具有切割器時。否則,該應用程式伺服器將不會傳送參數值 做為其要求的一部份來開啟該工作手冊。
如果該工作手冊在手動計算模式中,此代表該工作手冊將可能是在一「骯髒」計算狀態中,在該狀態下使用者可以啟始計算,藉以看到由於該等參數值被改變而在該工作手冊中的改變。
其不需要因為該應用程式伺服器的參數設定作業而來設定所有工作手冊參數。此在當該網頁上的切割器部份對映到在該工作手冊上定義的一參數子集合時即會發生。在此例中,於工作手冊中的額外參數可維持它們預設的儲存格數值。
在本發明的示例性非限制具體實施例中,當一工作手冊由CS載入時,該CS檢查是否在該工作手冊中定義的參數仍可滿足要做為參數時所定義的條件。如果無法滿足此條件,該CS傳回一錯誤。此檢查涵蓋了工作手冊中所有的參數,並非只是該應用程式伺服器嘗試要設定的參數。其可瞭解到做為一參數的條件可基於該系統所想要的特性來不同地設定,例如平衡一系統所要的系統確定性,及在設定參數中的使用者彈性。
對於由該CS的計算引擎對於參數的設定及擷取,一參數的設定會改變在一儲存格中的數值,並根據該工作手冊所在的計算模式(手動、自動),該工作手冊可以計算或不計算。
示例性非限制螢幕圖像序列
第5A圖到第5K圖為例示性(非限制性)UI螢幕圖像的 一示例性序列,其顯示本發明之能力來連線一網頁公開經驗,而遵照基於變動呼叫的成長之預測性銷售的一工作手冊(例如一銀行帳戶的利率)。
在第5A圖中,工作手冊500包含標記了「2005」銷售儲存格B3與B4分別提供2005銷售的一數值$2000。儲存格C3與C4分別為標記「2006」銷售,並基於命名為「成長」N2的成長速率而預測一數值$2200,其具有如儲存格F3所示的數值10%。儲存格B3、C3、B4及C4共同命名為"Sales",如由N1所代表。
一旦產生工作手冊500,如上所述,第5B圖透過對話盒/功能表502a開始說明一程序,其中該使用者可以公開該工作手冊到一試算表伺服器,其中另外授權的使用者可以透過一應用程式(像是瀏覽器)經由一網路(例如網際網路)檢視該工作手冊。如所示,該使用者可在502a選擇一選項,以公開該工作手冊500到一網頁伺服器。
一旦啟始之後,該流程移動到第5C圖,其中對話盒/功能表502b說明一使用者可以選擇公開該工作手冊之子集合,即使其該工作手冊500之一部份(例如一特定工作表)一旦在公開了該工作手冊500之後即不能由該網際網路存取。例如,其不需要由該工作手冊作者的角度來分享位在工作表3上的一專屬公式,但在同時,該工作手冊作者會想要暴露來自工作表3之一或多個參數到該使用者。
然後,如第5D圖所示,一使用者在502c可以選擇該對話盒功能表之參數標籤,其可帶出一UI來選擇(指定) 工作手冊500之儲存格做為參數。依照需要,初始在502d顯示在第5E圖中,該UI包含根據參數是如何定義的方式而包含工作手冊500之所有可能參數。然後,例如在第5F圖中所示,且根據該成長模型,該使用者在502e已經選擇「成長」做為一參數。當成長為在此範例中唯一的參數,此係為了瞭解而簡化。一般本技藝專業人士可瞭解到試算表模型及公式及相關的假設,皆會造成非常複雜,並因此可牽涉到數打或更多的參數。
在502e中已經選擇成長做為一參數,如第5G圖之502f所示,該使用者即傳回到該主要公開UI,其中成長係顯示成已經指定為一參數。最後,如第5H圖中所示,於502g中,藉由結合一相對應的「公開」UI元件,該使用者公開該文件到試算表伺服器。在已經選擇一選項來透過網頁顯示該工作手冊之後,透過該客戶端應用程式產生的工作手冊500即顯示成一網頁工作手冊504,如第5I圖所示。其可看到參數LP的一列表係顯示在工作手冊504之右方,其中包含成長參數P及一編輯方塊EB。如前所述,在一具體實施例中,該工作手冊504之計算及顯示可以延遲或暫停,直到輸入並應用編輯方塊EB的一參數值。在第5I圖所示的非限制性螢幕圖像中,在產生工作手冊500時所提出的數值預設會顯示。
接著,在第5J圖中,一使用者已經在編輯方塊EB中輸入一新的數值20%(而非目前在第5I圖中計算及顯示中所使用的10%)。最後,該使用者應用在編輯方塊EB中輸 入的新數值,如第5K圖中所示,該計算伺服器基於新的參數值20%重新計算該模型,而工作手冊506在執行了用於顯示網頁為主的文件之適當轉換之後即被顯示。其在此例中可看到該專案2006的數值已經基於成長速率由10%改變到20%,而由$2200改變到$2400。因此其可看到公開一試算表文件到一伺服器,以及基於他們的需要而暴露參數給個人之優點。例如,一貸款公司會想要公開一淨值計算器,其中多種參數(家庭數值、股票數值、退休帳戶等)皆可輸入為參數,且藉此個別地對一使用者調整一計算。同時,該貸款公司可由其使用者收集這種資料,並較佳地修改對該使用者所提供的整體服務。
當參數的指定在此處特定具體實施例中被說明為被包含在一公開經驗中時,一獨立的客戶端應用程式亦會受惠於根據本發明之參數的指定。因此,本發明不應被視為受限於公開一工作手冊到網頁之方案,而是必須視為要被定義在申請專利範圍的範圍內。
第6圖代表了類似於前述序列的流程圖,但不具有特定限制性細節。例如,在600中,一使用者選擇要製作或編輯一工作手冊,且在610中,該使用者啟用一使用者介面組件來指定該工作手冊之參數,其可在步驟620中完成。依照需要,該工作手冊可以公開到一試算表文件網頁伺服器,用於透過網頁呈現試算表文件。在未來,不論包含該指定的參數之試算表文件由該客戶端開啟或透過一網頁呈現器檢視,在630中操作的一私有API即由該試算表 文件發現及擷取參數資訊,其包含一參數列表,以參數化由該試算表文件所代表的底部模型。然後,該文件即在640中預備好顯示,其中該參數列表被暴露,且一使用者介面組件被提供在該參數列表中編輯參數。然後視需要在650中,該工作手冊本身可透過計算基於定義該工作手冊的參數數值之起初組合而顯示,或是另外如上所述,這種計算可以暫停,直到接收到相關該試算表文件的所有目前資訊。在660中,一使用者可以編輯參數列表中一或多個參數,並要求新的參數數值被應用到該試算表之模型。因此在670中,該計算引擎基於由使用者輸入的新參數數值重新計算(或如果暫停時計算)該試算表文件。
示例性介面實施
對於在多部電腦之間的任何資料交換,例如根據本發明之技術的參數資料,並在兩部電腦之間共享,有介面在每部電腦上處理多種作業,其可實施成硬體及/或軟體,且其用於以某種方式接收、傳送及/或處理資料,其係根據被要求或所提供之相關應用程式及服務。因此可提供一或多個介面物件來達到或實施該系統及方法的任何部份,用於根據本發明壓縮及解壓縮標示資料,本發明係要涵蓋所有這些具體實施例,因此在當實施或執行以下的發明時可以提供或利用這些種類之介面的一概括說明。
一程式化介面(或更簡單而言就是介面)可以被視為任何用於使得一或多個程式碼段落可與一或多個其他程式碼段落通信,或可存取由一或多個其它程式碼段落所提供的 功能的機制、程序、或協定。另外,一程式化介面可被視為一系統的一組件之一或多個機制、方法、函數呼叫、模組、物件等,其能夠通信耦合到其它組件的一或多個機制、方法、函數呼叫、模組等。在先前語句中的術語「程式碼段落」係要包含一或多個指令或程式碼的數行,其中包含例如程式碼模組、物件、子例式、函數等,而無關於所應用的術語,或是是否該等程式碼段落被分別編譯,或是否該等程式碼段落被提供為原始碼、中間碼或物件碼,或是否程式碼被用於執行時間系統或程序,或是否它們係位在相同或不同的機器,或分散在多個機器上,或是否由程式碼段落所代表的功能被整體實施成軟體、整體成為硬體,或是硬體及軟體的組合。
名義上,一程式化介面可被一般性地檢視,如第7A圖或第7B圖所示。第7A圖所示為一介面Interface1做為第一及第二程式碼段落通信的管道。第7B圖所示為一介面,其包含介面物件I1及I2(其可以是第一及第二程式碼段落的一部份,亦可不是),其致能一系統的第一及第二程式碼段落透過媒體M通信。從第7B圖可看出,其可視介面物件I1及I2做為相同系統的獨立介面,且亦可視物件I1及I2加上媒體M包含該介面。雖然第7A圖及第7B圖在流程的每一側上顯示雙向流程及介面,特定實施在一個方向上僅可有資訊流(或如下述地無資訊流),或在一側僅有一介面物件。例如(但非限制),像是應用程式化介面(API)、進入點、方法、函數、子例式、遠端程序呼叫、及 組件物件模型(component object model,COM)介面等皆包含在程式化介面的定義當中。
這種程式化介面的態樣可包含第一程式碼段落藉以傳送資訊到第二程式碼段落的方法(其中「資訊」係採用其最廣義的定義,並包含資料、命令、要求等);第二程式碼段落藉以接收該資訊的方法;及該資訊的結構、序列、語法、組織、方案、時序及內容。在此方面,底部傳輸媒體本身對於介面的操作並不重要,不論該媒體為有線或無線,或是兩者的組合,只要該資訊係以該介面所定義的方式傳輸。在特定狀況下,資訊不會以習知方式單向或雙向傳送,如同當一程式碼段落僅存取由一第二程式碼段落所執行的功能時,該資訊傳輸可透過另一個機制(例如獨立於程式碼段落之間的資訊流之外而放置資訊在一緩衝器、檔案等等之中)或是不存在。任何一項或所有的這些態樣在一給定狀況下為重要,例如根據是否該程式碼段落為一系統的一部份,其可為一寬鬆耦合或緊密耦合的組態,所以此列表必須視為例示性且非限制性。
此程式化介面的概念為本技藝專業人士所熟知,且可由前述本發明之詳細說明進行瞭解。但是也有其它方法來實施一程式化介面,除非有明確地排除,這些亦要包含在此說明書末了所提出的申請專利範圍涵蓋之下。這些其它方法可以比第7A圖及第7B圖的簡單呈現更為精密或複雜,但它們仍可執行類似的功能來完成相同的整體結果。現在我們將簡單地說明一程式化介面的其它一些例示性實 施。
A. 分解
由一程式碼段落到另一段落的通信可由將該通信分成多個分散的通信來間接地完成。此係在第8A圖及第8B圖中做架構說明。如所示,一些介面可描述成功能性之可區分的組合。因此,第7A圖及第7B圖之介面功能可被分解來達到相同結果,正如其可數學地提供24,或2乘2乘3乘2。因此,如第8A圖所示,由介面Interfacel所提供的功能可以進一步區分來轉換該介面之通信成為多重介面Interface 1A,Interface 1B,Interface 1C等,並可達到相同的結果。如第8B圖所示,由介面I1所提供的功能可被進一步區分成多個介面I1a、I1b、I1c等,而可達到相同的結果。類似地,自該第一程式碼段落接收資訊的第二程式碼段落的介面I2可以被分解成多個介面I2a、I2b、I2c等。當分解時,包含在第一程式碼段落中的介面數目不需要匹配於包含在第二程式碼段落中的介面數目。不論是在第8A圖及第8B圖中,介面Interface1及I1之功能上的精神分別相同於第7A圖及第7B圖。介面的分解亦根據相關性、交換性及其它數學性質,使其很難辨識出分解性。例如,作業的順序可能不重要,因此由一介面所執行的功能亦可在到達該介面之前先由另一個程式碼或介面所執行,或是由該系統的一獨立組件執行。再者,在程式化技藝中的一般專業人士可以瞭解到有多種方法可進行不同的函數呼叫而達到相同的結果。
B. 重新定義
在特定狀況下,有可能忽略、加入或重新定義一程式化介面的特定態樣(例如參數),而仍可達成所要的結果。此係例示於第9A圖及第9B圖。例如,假設第7A圖之介面Interface1包含一函數呼叫Square(input,precision,output ),一呼叫包含三個參數,輸入、精度輸出 ,且其由第一程式碼段落發送到第二程式碼段落。如果中間的參數精度 在一給定的方案中並不需要,如第9A圖所示,其亦可被忽略,甚至以一無意義 (在此狀況下)的參數取代。其亦可加入無關的一額外 參數。在任一事件中,可以達到平方的功能,只要在輸入由第二程式碼段落進行平方之後即傳回輸出。精度 對於一些下游或運算系統的其它部份亦可為無意義的參數;但是,一旦其認知到精度 對於計算平方值的狹義目的並非必要時,其可被取代或忽略。例如,除了傳送一有效的精度 值之外,像是生日的一無意義數值亦可被傳送,而對於結果無負面影響。類似地,如第9B圖所示,介面I1由介面I1'所取代,被重新定義來忽略或加入參數到該介面。介面I2可類似地重新定義成介面I2',其被重新定義來忽略不必要的參數,或是可在它處被處理的參數。在此為某些情況下一程式化介面可包含態樣,例如對於某些目的為不需要的參數,所以它們可被忽略或重新定義,或為了其它目的而在它處被處理。
C.行內編碼
其亦可以結合兩個獨立的程式碼模組之部份或全部的 功能,使得它們之間的「介面」會改變型式。例如,第7A圖及第7B圖之功能可被分別轉換成第10A圖及第10B圖之功能。在第10A圖中,第7A圖之先前的第一及第二程式碼段落即被結合成包含兩者的一模組。在此例中,該程式碼段落仍可彼此通信,但是該介面會被調整成更適合於該單一模組的型式。因此,例如正式的呼叫及傳回敘述不再必要,但依照介面Interface1之類似的處理或回應仍可有效。類似地,如第10B圖所示,來自第7B圖之介面I2的部份(或全部)可被行內寫入到介面I1而形成介面I1"。如所示,介面I2被區分成I2a及I2b,而介面部份I2a已經與介面I1行內編碼而形成介面I1"。對於一完整的範例,考慮到來自第7B圖之介面I1執行一函數呼叫square(input,output ),其由介面I2接收,在由第二程式碼段落處理該輸入 的數值(即將其平方),即利用該輸出 傳回該平方的結果。在此例中,由第二程式碼段落(將輸入 做平方)所執行的處理即可由該第一程式碼段落執行,而不需要呼叫到該介面。
D. 脫離
由一程式碼段落到另一個之通信可由將該通信分成多個分散的通信來間接地完成。此係在第11A圖及第11B圖中進行說明。如第11A圖所示,一或多段的中繼軟體(脫離介面(Divorce Interface),因為它們由該原始介面脫離出功能及/或介面功能)即被提供來在該第一介面Interface1上轉換通信,以將它們符合於一不同的介面,在此例中為 介面Interface2A、Interface2B及Interface2C。此將可完成在,例如,當有應用程式之已安裝基礎,該等應用程式係被設計以根據一Interface1協定與(比方)一作業系統通信,但是該作業系統即被改變來使用一不同的介面,在此例中為介面Interface2A、Interface2B及Interface2C。重點在於由第二程式碼段落所使用的原始介面被改變,使得其不再相容於由第一程式碼段落所使用的介面,所以使用一中間者來使得舊的與新的介面可以相容。類似地,如第11B圖所示,一第三程式碼段落可藉脫離介面DI1被導入以自介面I1接收通信,以及藉脫離介面DI2被導入來傳送介面功能給(例如)被重新設計來配合DI2工作,但可提供相同的功能性結果的介面I2a及I2b。類似地,DI1及DI2可以一起工作來轉譯第7B圖之介面I1與I2的功能到一新的作業系統,而可提供相同或類似的功能性結果。
E. 重新撰寫
而另一種可能的變數為動態地重新撰寫程式碼來利用其它的東西取代該介面功能性,而可達到整體相同的結果。例如,會有一種系統當中以一中間語言(如Microsoft的IL、Java ByteCode等)所呈現的一程式碼段落即可提供給在一執行環境中的一Just-in-Time(JIT)編譯器或解譯器(例如由.Net架構、Java執行時間環境、或其它類似的執行時間種類環境所提供)。該JIT編譯器可也撰寫成動態地轉換由第一程式碼段落到第二程式碼段落的通信,即將其符合於不同的介面,因其可由第二程式碼段落所需要(其可 為原始或一不同的第二程式碼段落)。此係描述於第12A圖及第12B圖。由第12A圖可看出,此方法係類似於上述的脫離方案。其可完成在例如當有應用程式隻已安裝基礎,該等應用程式係被設計以根據一Interface 1協定與一作業系統通信,但是接著該作業系統被改變為使用一不同介面。該JIT編譯器可用於立即使該等通信從該已安裝基礎應用程式,符合於該作業系統的新介面。如第12B圖所示,此種動態重新撰寫介面之方式可以應用到動態因子、或是亦可改變該等介面。
亦要注意到上述透過其它的具體實施例以達到與一介面相同或類似結果之方案,亦可用多種方式結合,如循序及/或並行,或是利用其它的中介碼。因此,上述的其它具體實施例並不互斥,且可混合、匹配及組合來產生相同或均等的方案給在第7A圖及第7B圖中所呈現的一般方案。亦可注意到如同大多數的程式化結構,有其它類似的方法可達到相同或類似於未在此處提及的一介面的功能,然而其可由本發明之精神與範圍所代表,也就是說,應注意到其至少部份為一介面數值之下的一介面所代表的功能,以及由其所致能的較佳結果。
其有多種方法可實施本發明,例如適當的API、工具箱、驅動程式碼、作業系統、控制、獨立或可下載的軟體物件等,其可使得應用程式及服務來使用該等系統與方法來提供及致能本發明之工作手冊參數。本發明考慮由一API(或其它軟體物件)的觀點來使用本發明,以及可由根據 本發明接收一下載的程式來由一軟體或硬體物件的觀點。因此,此處所述之本發明不同的實施之態樣可以完全是硬體、或是部份為硬體及部份為軟體,以及皆是軟體。
如上所述,當本發明的示例性具體實施例已經配合多種運算裝置及網路架構說明時,以下的觀念可以應用到任何運算裝置或系統,其中有需要具有工作手冊參數。例如,本發明的演算法及硬體實施可以應用到一運算裝置的作業系統,其在該裝置上提供為一獨立物件、做為另一個物件的一部份,做為一可重複使用的控制、做為可由一伺服器下載的物件、做為一裝置或物件及網路之間的「中間人」,做為一分散式物件,做為硬體,在記憶體中,為前述的任何組合等。當在此處選擇了示例性程式化語言、名稱及範例皆為不同選擇的代表,這些語言、名稱及範例並非要做限制。一般本技藝專業人士將可瞭解到有多種提供物件碼及術語之方法來達到由本發明不同具體實施例所達到之相同、類似或均等之功能。
如上所述,此處所述的多種技術可以配合硬體或軟體、或是當時兩者之適當組合來實施。因此,本發明之方法及裝置,或是其特定態樣或部份,皆可採用程式碼(即指令)的型式,而包含在實體的媒體中,例如磁片、CD-ROM、硬碟機、或任何其它機器可讀取儲存媒體,其中當該程式碼被載入到一機器(例如電腦)中執行時,該機器成為用於實施本發明的一種裝置。如果在可程式化電腦上執行程式碼時,該運算裝置概言之將可包含一處理器、可由該處理 器讀取之一儲存媒體(包含揮發性及非揮發性記憶體及/或儲存元件)、至少一輸入裝置、及至少一輸出裝置。可實施或利用本發明之工作手冊參數的一或多個程式(例如經由使用一資料處理API、可重複使用控制或類似者),其較佳地是實施成一高階程序化或物件導向程式化語言來與一電腦系統聯繫。但是,該等程式在如果需要時可以實施成組合語言或機器語言。在任何狀況下,該語言可為一編譯或解譯的語言,並結合於硬體實施。
本發明的方法與設備亦可透過程式碼型式所實施的傳送來達成,其係在某傳輸媒體上傳送,例如在電線或纜線上,經由光纖,或是透過任何其它型式的傳輸,其中,當該程式碼被接收、載入及由一機器執行時,例如一EPROM、一閘極陣列、一程式化邏輯裝置(PLD)、一客戶端電腦等,該機器成為實施本發明的一設備。當實施成一通用處理器時,該程式碼結合該處理器來提供一獨特的設備,其用於引發本發明的功能。此外,任何配合本發明使用的儲存技術總是可為硬體與軟體的組合。
當本發明已經配合不同圖面中的較佳具體實施例來說明之後,其即可瞭解到其它類似的具體實施例可以利用,或對所述的具體實施例進行修正及增添來執行本發明的相同功能,其皆不背離本發明。例如,當本發明的示例性網路環境以一網路化環境的內容說明時,例如一端點對端點網路化環境,本技藝專業人士將可瞭解到本發明並不限於此,且該方法如本申請案所述,其可應用到任何運算裝置 或環境,例如一遊戲主機、掌上型電腦、可攜式電腦等,不論是有線或無線,並可應用到透過一傳送網路連接的任何數目的這種運算裝置,並跨網路互動。再者,其必須強調可考慮多種電腦平台,其中包含掌上型裝置作業系統及其它特定應用作業系統,特別是持續擴充無線網路化裝置之數目。
當示例性具體實施例係利用本發明在一特定程式化語言結構內容做說明時,本發明並不限於此,而是可以實施成任何的語言,而可提供及致能根據本發明之工作手冊參數。再者,本發明可實施成或橫跨複數處理晶片或裝置,且儲存可類似地發生在橫跨複數個裝置。因此,本發明必須不限於任何單一具體實施例,而必須視為根據所附之申請專利範圍當中的精神及範圍。
2‧‧‧客戶端電腦
5‧‧‧中央處理單元
7‧‧‧系統記憶體
9‧‧‧隨機存取記憶體
10‧‧‧網頁瀏覽器應用程式
11‧‧‧唯讀記憶體
12‧‧‧系統匯流排
14‧‧‧大量儲存裝置
16‧‧‧作業系統
18‧‧‧網路
20‧‧‧網路介面單元
22‧‧‧輸入/輸出控制器
24‧‧‧網頁
26‧‧‧試算表應用程式
30‧‧‧應用程式伺服器
32‧‧‧計算伺服器
34‧‧‧網頁應用程式
36‧‧‧試算表網頁呈現器
38‧‧‧伺服器應用程式化介面
40‧‧‧試算表計算伺服器
42‧‧‧資料庫
44‧‧‧工作手冊
300‧‧‧例式
320‧‧‧例式
500‧‧‧工作手冊
502a-502g‧‧‧對話盒/功能表
504‧‧‧網頁工作手冊
506‧‧‧工作手冊
根據本發明之對於試算表文件參數之指定、發現及設定即參考附屬圖式做另外的說明,其中:第1圖為一示例性非限制性運算系統環境之方塊圖,其中即實施了本發明;第2圖為一示例性網路環境之方塊圖,其中即實施了本發明;第3A圖及第3B圖皆顯示了根據本發明多種實施例中用於透過獨立應用程式及網頁呈現服務撰寫及檢視試算表文件的一示例性客戶端及伺服器架構;第4A圖、第4B圖及第4C圖為根據本發明中指定、 發現及設定工作手冊參數之多種態樣的示例性非限制性圖示;第5A圖、第5B圖、第5C圖、第5D圖、第5E圖、第5F圖、第5G,圖、第5H,圖、第5I圖、第5J圖及第5K圖為根據本發明中一種示例性非限制性圖示序列進行撰寫一工作手冊及指定參數,以發現相關該文件之參數列表,並透過網頁呈現該工作手冊,以允許編輯在該參數列表中所提供的參數。
第6圖為根據本發明中一使用者如何指定、發現及編輯參數的一示例性流程圖;及第7A圖、第7B圖、第8A圖、第8B圖、第9A圖、第9B圖、第10A圖、第10B圖、第11A圖、第11B圖、第12A圖及第12B圖為根據本發明中提供類似的介面碼來達到任何介面之類似或同等的目的之示例性方式。

Claims (15)

  1. 一種用於經由一網頁式(Web-based)試算表服務來指定關聯於一模型之一個一或更多參數之列表的電腦實施方法,該模型由一試算表文件代表,該方法包含:提供獨立於該試算表文件的一使用者介面組件;經由該使用者介面組件,接收用於該試算表文件之一第一儲存格子集的一定義,該試算表文件包含複數個儲存格子集,而該定義指定在該第一儲存格子集中之各個儲存格為給至該模型的一參數,該模型由該試算表文件代表,其中在該第一儲存格子集中之各個儲存格係被指定接收來自一使用者的輸入以應用至該模型的一計算式,且其中在該試算表文件的一第二儲存格子集中未被指定為給至該模型之一參數的各個儲存格未被指定接收來自該使用者的輸入;將該等經定義參數載入至關聯於該模型的該個一或更多參數之列表中,該個一或更多參數之列表包括各參數之名稱以及關聯於各參數名稱的任何註解;經由該使用者介面組件接收指令,該等指令指定於一客戶端顯示該個一或更多參數之列表的一順序;接收傳送該試算表文件以供呈現於該客戶端的一要求;以及提供該試算表文件及該個一或更多參數之列表給該客戶端。
  2. 如申請專利範圍第1項所述之方法,其另包含:將參數資訊連同該試算表文件儲存,該參數資訊包括代表在該第一儲存格子集中之各儲存格的資訊,在該第一儲存格子集中之各儲存格係根據接收一定義之該步驟所指定。
  3. 如申請專利範圍第2項所述的方法,其另包含:要求連同該試算表文件所儲存的該參數資訊。
  4. 如申請專利範圍第3項所述之方法,其另包含:經由該使用者介面組件,顯示該個一或更多參數之列表。
  5. 如申請專利範圍第4項所述之方法,其中顯示該個一或更多參數之列表之該步驟包括顯示參數名稱列表以及顯示使用者介面控制項,藉此每個參數名稱包含一使用者介面控制項,該使用者介面控制項用於在被指定接收輸入的該第一儲存格子集中,接收輸入去編輯該試算表文件之一儲存格所關聯的一數值,該試算表文件的該儲存格由該參數名稱所代表。
  6. 一種用於經由一網頁式(Web-based)試算表服務來發現關聯於一模型之一個一或更多參數之列表的電腦實施方法,該模型由一試算表文件所代表,該方法包含:要求一網頁式試算表伺服器傳送該試算表文件,以供於一客戶端將該試算表文件呈現在一顯示裝置 上,該試算表文件包含複數個儲存格,其中該等複數個儲存格的一第一儲存格子集包含被指定為關聯於該模型之參數的儲存格,而該等複數個儲存格的一第二儲存格子集包含未被指定為關聯於該模型之參數的儲存格,以及其中在該第一儲存格子集中的各儲存格被指定接收來自一使用者的輸入以應用至該模型的一計算式,且在該第二儲存格子集中的各儲存格未被指定接收來自該使用者的輸入;擷取關聯於由該試算表文件所代表之該模型的該個一或更多參數之列表,該個一或更多參數之列表包括各參數之名稱及關聯於各參數名稱的任何註解,在該個一或更多參數之列表中的各參數對應於在該第一儲存格子集中的一儲存格;以及提出一使用者介面(UI)組件以供編輯在該第一儲存格子集中之儲存格中的數值,該等儲存格對應於在該個參數列表中之該等一或更多個參數,其中在該第一儲存格子集中的各儲存格及在該第二儲存格子集中的各儲存格都被顯示在該UI組件中,且在該第一儲存格子集中的各儲存格係自動以異於該第二儲存格子集中之各儲存格的方式被顯示,以指示在該第一儲存格子集中的各儲存格係被指定接收來自該使用者的輸入以應用至該模型的該計算式。
  7. 如申請專利範圍第6項所述之方法,其中該擷取步驟包括經由一應用程式介面發現該個一或更多參數之列 表。
  8. 如申請專利範圍第6項所述之方法,其中該使用者介面組件通常被顯示於鄰接該個一或更多參數之列表所關聯的該試算表文件。
  9. 如申請專利範圍第8項所述之方法,其中該使用者介面組件為一工作板。
  10. 如申請專利範圍第6項所述之方法,其中該擷取步驟包括經由該使用者介面組件要求該個一或更多參數之列表。
  11. 如申請專利範圍第10項所述之方法,其中該要求步驟包括經由該使用者介面組件之至少一功能表命令要求顯示該個一或更多參數之列表。
  12. 如申請專利範圍第6項所述之方法,其中該擷取步驟包括以該參數名稱列表來顯示該個一或更多參數之列表與顯示使用者介面控制項,其中每個參數名稱係關聯於至少一使用者介面控制項,該使用者介面控制項用於接收由該使用者針對由該參數名稱所代表的該試算表文件之一儲存格的輸入。
  13. 一種用於經由一網頁式(Web-based)試算表服務來編輯關聯於一模型的一個一或更多參數之列表中之一參數的電腦實施方法,該模型由一試算表文件代表,該方法包含:要求一網頁式試算表伺服器傳送該試算表文件, 以供於一客戶端將該試算表文件呈現在一顯示裝置上,該試算表文件包含複數個儲存格,其中該等複數個儲存格的一第一儲存格子集包含被指定為關聯於該模型之參數的儲存格,而該等複數個儲存格的一第二儲存格子集包含未被指定為關聯於該模型之參數的儲存格,以及其中在該第一儲存格子集中的各儲存格被指定接收來自一使用者的輸入以應用至該模型的一計算式,且在該第二儲存格子集中的各儲存格未被指定接收來自該使用者的輸入;擷取關聯於由該試算表文件所代表之該模型的該個一或更多參數之列表,該個一或更多參數之列表包括各參數之名稱及關聯於各參數名稱的任何註解,在該個一或更多參數之列表中的各參數對應於在該第一儲存格子集中的一儲存格;以及經由一使用者介面組件,接收對於關聯於由該試算表文件所代表之該模型的該個一或更多參數之列表中至少一參數的編輯,其中在該第一儲存格子集中的各儲存格及在該第二儲存格子集中的各儲存格都被顯示在該UI組件中,且在該第一儲存格子集中的各儲存格係自動以異於該第二儲存格子集中之各儲存格的方式被顯示,以指示在該第一儲存格子集中的各儲存格係被指定接收來自該使用者的輸入以應用至該模型的該計算式。
  14. 如申請專利範圍第13項所述之方法,其另包含: 暫停該模型的計算式,直到關聯於該模型之所有資訊藉由下列群組之一或更多者而成為目前資訊:自動得到關聯於該模型之該目前資訊,以及經由該等編輯從一使用者接收該目前資訊。
  15. 如申請專利範圍第14項所述之方法,其中該暫停步驟另包含暫停該試算表文件的完整顯示,直到關聯於該模型的所有資訊藉由下列群組之一或更多者而成為目前資訊:自動得到關聯於該模型之該目前資訊,以及經由該等編輯從一使用者接收該目前資訊。
TW095132059A 2005-09-09 2006-08-30 指定、設定以及發現試算表文件之參數的方法及計算裝置 TWI416342B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/223,180 US7752536B2 (en) 2005-09-09 2005-09-09 Designating, setting and discovering parameters for spreadsheet documents

Publications (2)

Publication Number Publication Date
TW200723028A TW200723028A (en) 2007-06-16
TWI416342B true TWI416342B (zh) 2013-11-21

Family

ID=37836545

Family Applications (1)

Application Number Title Priority Date Filing Date
TW095132059A TWI416342B (zh) 2005-09-09 2006-08-30 指定、設定以及發現試算表文件之參數的方法及計算裝置

Country Status (16)

Country Link
US (1) US7752536B2 (zh)
EP (1) EP1920356A4 (zh)
JP (1) JP5255443B2 (zh)
KR (1) KR101312881B1 (zh)
CN (1) CN101258490B (zh)
AU (1) AU2006287357B2 (zh)
BR (1) BRPI0615572A2 (zh)
CA (1) CA2618211C (zh)
IL (1) IL189152A (zh)
MY (1) MY155037A (zh)
NO (1) NO20080596L (zh)
NZ (1) NZ594997A (zh)
RU (1) RU2421797C2 (zh)
TW (1) TWI416342B (zh)
WO (1) WO2007030769A2 (zh)
ZA (1) ZA200802171B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9171099B2 (en) 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010779B2 (en) 2001-08-16 2006-03-07 Knowledge Dynamics, Inc. Parser, code generator, and data calculation and transformation engine for spreadsheet calculations
US7716231B2 (en) * 2004-11-10 2010-05-11 Microsoft Corporation System and method for generating suggested alternatives for visual or audible submissions
US7640490B2 (en) * 2004-12-20 2009-12-29 Microsoft Corporation Method, system, and computer-readable medium for controlling the calculation of volatile functions in a spreadsheet
WO2006095365A2 (en) * 2005-03-11 2006-09-14 Suresh Sambandam A system and method of defining a hierarchical datamodel and related computation and instruction rules using spreadsheet like user interface
US7587665B2 (en) * 2005-03-15 2009-09-08 Microsoft Corporation Method and computer-readable medium for providing spreadsheet-driven key performance indicators
US20070061699A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Named object view of electronic data report
US20110145689A1 (en) * 2005-09-09 2011-06-16 Microsoft Corporation Named object view over multiple files
US20090006466A1 (en) * 2005-12-09 2009-01-01 Microsoft Corporation Managing extensible value types in spreadsheet cells
US8161372B2 (en) 2005-12-09 2012-04-17 Microsoft Corporation Extensible value types in cells
US8904340B2 (en) * 2007-02-13 2014-12-02 International Business Machines Corporation Use of temporary optimized settings to reduce cycle time of automatically created spreadsheets
US20090019348A1 (en) * 2007-07-13 2009-01-15 Rodney Kuhn Haffnerson King Fractal Grid Hierarchical Presentation Of Information
US10133719B2 (en) * 2007-09-28 2018-11-20 Microsoft Technology Licensing, Llc Spreadsheet workbook part libraries
US8190987B2 (en) * 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
US8407668B2 (en) * 2007-10-26 2013-03-26 Microsoft Corporation Model based spreadsheet scripting language
US8006175B2 (en) * 2007-10-29 2011-08-23 Microsoft Corporation Calculation of spreadsheet data
US9501453B2 (en) * 2007-12-23 2016-11-22 Salesforce.Com Inc. Method and system for a flexible-data column user interface
US20090305200A1 (en) * 2008-06-08 2009-12-10 Gorup Joseph D Hybrid E-Learning Course Creation and Syndication
US8239357B1 (en) * 2008-09-12 2012-08-07 Ryan, LLC Method and system for extracting information from electronic data sources
US9229922B2 (en) * 2008-09-30 2016-01-05 Apple Inc. Token representation of references and function arguments
US20100107095A1 (en) * 2008-10-24 2010-04-29 Microsoft Corporation Template-based calculator application
US8195792B2 (en) * 2009-01-16 2012-06-05 Microsoft Corporation Interfacing distinct services for providing web based document manipulation access
US9459936B2 (en) * 2009-05-01 2016-10-04 Kaazing Corporation Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications
US9298686B2 (en) * 2009-05-14 2016-03-29 Golub Capital, Llc System and method for simulating discrete financial forecast calculations
US10198523B2 (en) 2009-06-03 2019-02-05 Microsoft Technology Licensing, Llc Utilizing server pre-processing to deploy renditions of electronic documents in a computer network
US20100332969A1 (en) * 2009-06-29 2010-12-30 Ramprabhu Jayaraman Dynamic Use of Device Theme Parameters for Rendering Markup Content
US20110167057A1 (en) * 2010-01-04 2011-07-07 Accenture Global Services Gmbh Modularized service level agreement reporting
TWI417750B (zh) * 2010-03-25 2013-12-01 Tatung Co 取代資料庫存取的方法
US8892614B2 (en) * 2010-06-07 2014-11-18 Texas Instruments Incorporated Calculator with dynamic computation environment
US8825745B2 (en) * 2010-07-11 2014-09-02 Microsoft Corporation URL-facilitated access to spreadsheet elements
US9043296B2 (en) 2010-07-30 2015-05-26 Microsoft Technology Licensing, Llc System of providing suggestions based on accessible and contextual information
US8566740B2 (en) * 2010-12-03 2013-10-22 Salesforce.Com, Inc. Interactive data forecasting features for a graphical user interface
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US9864966B2 (en) 2010-12-17 2018-01-09 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9110957B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data mining in a business intelligence document
US9104992B2 (en) 2010-12-17 2015-08-11 Microsoft Technology Licensing, Llc Business application publication
US9069557B2 (en) 2010-12-17 2015-06-30 Microsoft Technology Licensing, LLP Business intelligence document
US9024952B2 (en) 2010-12-17 2015-05-05 Microsoft Technology Licensing, Inc. Discovering and configuring representations of data via an insight taxonomy
US9304672B2 (en) 2010-12-17 2016-04-05 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9171272B2 (en) 2010-12-17 2015-10-27 Microsoft Technology Licensing, LLP Automated generation of analytic and visual behavior
US9336184B2 (en) 2010-12-17 2016-05-10 Microsoft Technology Licensing, Llc Representation of an interactive document as a graph of entities
US9111238B2 (en) 2010-12-17 2015-08-18 Microsoft Technology Licensing, Llc Data feed having customizable analytic and visual behavior
US20130080603A1 (en) 2011-09-27 2013-03-28 Microsoft Corporation Fault Tolerant External Application Server
US9355072B2 (en) * 2011-09-28 2016-05-31 Google Inc. Recursive embedding by URL parameterization
US9069748B2 (en) * 2011-10-04 2015-06-30 Microsoft Technology Licensing, Llc Selective generation and display of data items associated with a spreadsheet
US8990675B2 (en) 2011-10-04 2015-03-24 Microsoft Technology Licensing, Llc Automatic relationship detection for spreadsheet data items
US9588953B2 (en) * 2011-10-25 2017-03-07 Microsoft Technology Licensing, Llc Drag and drop always sum formulas
US10546057B2 (en) * 2011-10-28 2020-01-28 Microsoft Technology Licensing, Llc Spreadsheet program-based data classification for source target mapping
US20130283147A1 (en) * 2012-04-19 2013-10-24 Sharon Wong Web-based collaborative document review system
US9286284B2 (en) 2012-10-15 2016-03-15 International Business Machines Corporation Data filtering based on a cell entry
US8856234B2 (en) * 2013-02-28 2014-10-07 Workiva Llc System and method for performing distributed asynchronous calculations in a networked environment
US10140269B2 (en) 2013-03-12 2018-11-27 Microsoft Technology Licensing, Llc Viewing effects of proposed change in document before committing change
US10360297B2 (en) 2013-06-14 2019-07-23 Microsoft Technology Licensing, Llc Simplified data input in electronic documents
US20140372856A1 (en) 2013-06-14 2014-12-18 Microsoft Corporation Natural Quick Functions Gestures
US9026897B2 (en) * 2013-07-12 2015-05-05 Logic9S, Llc Integrated, configurable, sensitivity, analytical, temporal, visual electronic plan system
US9116931B2 (en) * 2013-07-12 2015-08-25 Logic9S, Llc Integrated, configurable, analytical, temporal, visual electronic plan system
US20150135054A1 (en) * 2013-11-14 2015-05-14 Microsoft Corporation Comments on Named Objects
US9990348B2 (en) * 2014-05-05 2018-06-05 Prasath Nayanar Chandrasekaran System and method for managing data using a spreadsheet model
US10140352B2 (en) * 2014-07-17 2018-11-27 Oracle International Corporation Interfacing with a relational database for multi-dimensional analysis via a spreadsheet application
US9910843B2 (en) 2015-02-03 2018-03-06 Intuit Inc. Systems, methods and articles for a web-based spreadsheet application
US10509858B1 (en) 2015-03-15 2019-12-17 Sigma Sciences Limited Data processing in spreadsheet worksheets
US10546055B2 (en) * 2016-10-20 2020-01-28 Microsoft Technology Licensing, Llc Join with format modification by example
US11726753B2 (en) 2016-12-03 2023-08-15 Thomas STACHURA Spreadsheet-based software application development
US10216494B2 (en) 2016-12-03 2019-02-26 Thomas STACHURA Spreadsheet-based software application development
US10540153B2 (en) 2016-12-03 2020-01-21 Thomas STACHURA Spreadsheet-based software application development
US10452751B2 (en) * 2017-01-09 2019-10-22 Bluebeam, Inc. Method of visually interacting with a document by dynamically displaying a fill area in a boundary
US11398298B2 (en) * 2017-09-26 2022-07-26 4G Clinical, Llc Systems and methods for demand and supply forecasting for clinical trials
US11150635B2 (en) * 2017-10-02 2021-10-19 Fisher-Rosemount Systems, Inc. Projects within a process control asset management system
US11699032B2 (en) * 2017-11-03 2023-07-11 Microsoft Technology Licensing, Llc Data set lookup with binary search integration and caching
CA3084152C (en) * 2017-12-03 2023-10-17 Thomas Stachura Spreadsheet-based software application development
US11714394B2 (en) * 2018-09-28 2023-08-01 Fisher-Rosemount Systems, Inc Bulk commissioning of field devices within a process plant
US11429558B2 (en) 2018-10-11 2022-08-30 Dealvector, Inc. Mapping tests of spreadsheets in server-browser environments
US11429557B2 (en) 2018-10-11 2022-08-30 Dealvector, Inc. Templatization of spreadsheets in browser environments
WO2020077152A1 (en) 2018-10-11 2020-04-16 Dealvector, Inc. Effective deployment of spreadsheets in browser environments
CN112883698B (zh) * 2021-03-22 2024-02-06 京东科技控股股份有限公司 图表生成方法、装置、计算机设备和存储介质
CN116050362B (zh) * 2023-03-23 2023-07-04 青岛诺亚信息技术有限公司 一种Web表格动态数据绑定方法、介质及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010055013A1 (en) * 2000-06-16 2001-12-27 Naoki Fuki Three-dimensional modeling system having parametric function and parameter editing method according to same
TW536673B (en) * 1999-10-18 2003-06-11 Ibm Electronic form acquiring method, electronic form system, and storage medium for storing electronic form acquiring program
TW200424889A (en) * 2003-08-18 2004-11-16 Via Tech Inc Mechanism for adjusting the operational parameters of a component with minimal impact on graphics display

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9009930D0 (en) 1990-05-02 1990-06-27 Int Computers Ltd Electronic spreadsheet
US5095429A (en) * 1990-08-28 1992-03-10 Pillar Corporation Method for prioritizing data in financial information system
US5371675A (en) 1992-06-03 1994-12-06 Lotus Development Corporation Spreadsheet program which implements alternative range references
JPH0737008A (ja) 1993-06-29 1995-02-07 Hitachi Ltd 表計算処理装置の表示制御方法
US5727161A (en) 1994-09-16 1998-03-10 Planscan, Llc Method and apparatus for graphic analysis of variation of economic plans
GB9516977D0 (en) * 1995-08-17 1995-10-18 Dreamware Design & Dev Ltd Processing apparatus and method and computer software therefor
US5890174A (en) 1995-11-16 1999-03-30 Microsoft Corporation Method and system for constructing a formula in a spreadsheet
JPH10340172A (ja) * 1997-06-06 1998-12-22 Sharp Corp データ処理装置及びデータ処理装置制御プログラムを記憶した媒体
US5987481A (en) 1997-07-01 1999-11-16 Microsoft Corporation Method and apparatus for using label references in spreadsheet formulas
US6460059B1 (en) 1998-08-04 2002-10-01 International Business Machines Corporation Visual aid to simplify achieving correct cell interrelations in spreadsheets
EP1037157A1 (en) 1999-03-05 2000-09-20 International Business Machines Corporation Method and system for processing different cell protection modes in an electronic spreadsheet
CA2311866A1 (en) 2000-01-06 2001-07-06 International Business Machines Corporation Method and system in an electronic spreadsheet for adding or removing elements from a cell named range according to different modes
US6988241B1 (en) * 2000-10-16 2006-01-17 International Business Machines Corporation Client side, web-based spreadsheet
JP2003050964A (ja) * 2000-11-30 2003-02-21 Kokusai Zunou Sangyo Kk 表計算ウェブサーバシステムおよび表計算ウェブシステム
US7206997B2 (en) 2000-12-18 2007-04-17 General Motors Corporation Functional visualization of spreadsheets
US6409059B1 (en) * 2001-01-11 2002-06-25 Nathaniel Calvert Hand and finger thimbles
US20030033329A1 (en) 2001-06-22 2003-02-13 Bergman Eric D. Method and apparatus for entry and editing of spreadsheet formulas
US20030120999A1 (en) 2001-12-21 2003-06-26 Miller Michelle A. Calculating in spreadsheet cells without using formulas
US7266763B2 (en) 2002-11-26 2007-09-04 Microsoft Corporation User defined spreadsheet functions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW536673B (en) * 1999-10-18 2003-06-11 Ibm Electronic form acquiring method, electronic form system, and storage medium for storing electronic form acquiring program
US20010055013A1 (en) * 2000-06-16 2001-12-27 Naoki Fuki Three-dimensional modeling system having parametric function and parameter editing method according to same
TW200424889A (en) * 2003-08-18 2004-11-16 Via Tech Inc Mechanism for adjusting the operational parameters of a component with minimal impact on graphics display

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Stinson, Craig and Mark Dodge,Microsoft Office Excel 2003 Inside Out,2004.,Microsoft Press *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US10732825B2 (en) 2011-01-07 2020-08-04 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9514116B2 (en) 2011-11-04 2016-12-06 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9171099B2 (en) 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application

Also Published As

Publication number Publication date
JP2009508237A (ja) 2009-02-26
CN101258490B (zh) 2013-01-23
CA2618211A1 (en) 2007-03-15
NZ594997A (en) 2013-02-22
KR20080043327A (ko) 2008-05-16
IL189152A (en) 2012-05-31
AU2006287357B2 (en) 2011-03-24
BRPI0615572A2 (pt) 2011-05-24
RU2421797C2 (ru) 2011-06-20
RU2008108992A (ru) 2009-09-20
ZA200802171B (en) 2009-08-26
CA2618211C (en) 2014-02-25
WO2007030769A3 (en) 2007-05-31
NO20080596L (no) 2008-04-01
CN101258490A (zh) 2008-09-03
US20070061698A1 (en) 2007-03-15
US7752536B2 (en) 2010-07-06
WO2007030769A2 (en) 2007-03-15
TW200723028A (en) 2007-06-16
IL189152A0 (en) 2008-08-07
JP5255443B2 (ja) 2013-08-07
EP1920356A2 (en) 2008-05-14
EP1920356A4 (en) 2017-10-04
KR101312881B1 (ko) 2013-09-30
MY155037A (en) 2015-08-28
AU2006287357A1 (en) 2007-03-15

Similar Documents

Publication Publication Date Title
TWI416342B (zh) 指定、設定以及發現試算表文件之參數的方法及計算裝置
US10650082B2 (en) Collaborative virtual markup
EP1922604B1 (en) Command user interface for displaying selectable functionality controls in a database application
US20070226606A1 (en) Method of processing annotations using filter conditions to accentuate the visual representations of a subset of annotations
EP1830275A1 (en) Information distribution system
US20100107048A1 (en) Document processor and document processing method
US20110055066A1 (en) System and Method for Enabling Financial Planning
WO2003098500A1 (en) Method and apparatus for automatically producing spreadsheet-based models
EP1744255A1 (en) Document processing device and document processing method
EP1768034A1 (en) Document processing device and document processing method
US20070185828A1 (en) Graphical portal in an information management system and process
AU2017218166B2 (en) Method of computerized presentation of a document set view for auditing information and managing sets of multiple documents and pages
UMETRICS User guide and Tutorial

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees