專利名稱:電子表格基于單元格的通知的制作方法
電子表格基于單元格的通知本申請是申請日2006. 12.05,申請號為200680045933. 6 (國際申請號為PCT/ US2006/046657),名稱為"電子表格基于單元格的通知"的申請的分案申請。
背景 諸如微軟的EXCEL軟件等電子表格軟件用于模擬有時稱作工作表、或工作簿的紙 面電子表格,在其中對預算、規劃、建模及其它任務,可通過例如加法、乘法等數學方式來對 數字列進行運算。典型的電子表格軟件用戶界面在屏幕上表現為行和列的矩陣,且該行和 列的交叉稱作"單元格"。單元格中可以填入標簽、數值或公式。標簽是諸如"出租"和"銷 售總額"等描述性文本。值是實際的數字數據,而公式則命令電子表格基于這些值執行特定 的計算;例如,公式SUM CELLS A5 TO A10 (將單元格A5到A10相加)可以使電子表格軟件 將在第A列、第5到10行處找到的單元格相加。公式使得各單元格相互關連,并且公式較 易于創建。例如,可以僅僅指向某單元格并點擊,并且隨后按下旨在影響該單元格的任意算 術運算的鍵(+、-等)。例如,公式的創建可以是"將該單元格的內容加上該單元格的內容 除以在左邊的下一單元格的內容的商。" 當添加或者改變了數字后,公式一般會自動地或者在用戶的啟動下(例如,通過 按下一個鍵)重新計算數據。這可以在所有多個單元格中造成重新計算的"連鎖"效應。 由于任何單元格的內容都可以用任何其它單元格來計算,或者可以被復制到任意其它單元 格,因此可以將一個列的總和用作另一列中的詳細項目。例如,可以將來自一開支項列的總 和放入一匯總列來示出所有支出。如果明細列內的單元格的內容改變了,則其列總和也會 改變,該列總和隨后被復制到匯總列,同時匯總總和也改變。 這種連鎖效應會讓用戶創建規劃或模型、插入關于模型的不同假設(即,改變參 數)、并立即看到對帳本底線的影響。該"如果……怎樣?"功能使得電子表格對于預算、 規劃和其它基于等式的任務不可缺少。因此,該"如果……怎樣?"功能使得用戶能夠改變 諸如銀行帳戶隨時間的增長等數學模型的諸如利率等基本參數。類似地,該"如果……怎 樣?"使得用戶能夠改變諸如起始銀行帳戶余額等基本事實、諸如使用或不使用復合利率 的公式來計算利息等與單元格相互關連的公式、以及甚至單元格的名稱,以便解決不同的 數學場景。 因此,電子表格包括模型和計算形式的業務邏輯以及數據。工作流自始自終都是 項目中各個活動之間的關系集。活動是通過不同類型的觸發關系來發生關系的。活動可以 通過外部事件或者通過其它活動來觸發。存在適合從諸如MICROSOFT EXCEL工作薄等數據 庫工作薄中計算和提取值的許多業務工作流場景。工作流進程通常與用戶干預是異步的, 因此需要在服務器自動化系統上工作。軟件驅動的工作流通常具有異步工作的需求,而不 需要用戶干預。電子表格計算在自動化工作流中還不能被調用。 此外,當今大量關鍵數據都駐留在電子表格中。該數據可以是計算、對外部源的查 詢、打字輸入、或其組合的結果。通常可取的是,隨時間跟蹤電子表格中的特定值并基于值 的變化來行動。目前,這需要周期性地打開該電子表格或者使其保持被打開,并刷新計算以 更新任意外部數據查詢或易變公式,并隨后可視地檢查所關心的值。如果值還沒有變化或者尚不滿足要求動作的閾值,則用戶在打開和刷新電子表格上所花的時間就被浪費掉了。 而且,即使滿足了閾值,用戶在等待刷新并計算電子表格時的時間也被浪費了。注意力也是 被浪費的有價值的資源,因為該過程需要周期性的輪詢。
概述 —種工作流包括利用了電子表格計算的活動。對于電子表格活動,執行如下操作 將值設置到電子表格內、計算、以及從電子表格中提取值。因此,電子表格計算被集成在工 作流中,而無需用戶干預。例如,電子表格計算可作為自動化工作流中的步驟來調用。電子 表格文件會在工作流期間重新計算。當工作流完成以后,或者當電子表格活動被計算后,或 者在一觸發器被激活或者滿足閾值或條件時,可以發送通知(例如,可以通過電子郵件、即 時消息等通知用戶,或者通知可以基于該通知采取行動的軟件系統)。通知可以包括各種內 容,包括計算出的工作薄、工作薄的統一資源定位符(URL)、觸發該通知的單元格的值、和/ 或預定值。
可以獲得并向電子表格提供來自工作流中的先前的活動的值(例如,設置、修改
或調整單元格的值)。然后可以使用這些所獲得的值來重新計算電子表格。而且,來自電子
表格的值可以在工作流的后續部分中使用。同時,可以將任意數量的電子表格活動合并到
工作流中,并且一個電子表格活動可以向工作流中的第二電子表格活動提供值。 提供本概述以用簡單的形式來介紹在下面的詳細描述中將進一步描述的一些概
念。本概述并不旨在標識出所要求保護的主題的關鍵特征或必要特征,也并不旨在用來限
定該所要求保護的主題的范圍。 附圖簡述
圖1是表示一示例性非限定性計算系統環境的框圖; 圖2是表示一示例性網絡環境的框圖; 圖3是一示例工作流的框圖; 圖4是一示例工作流過程的流程圖; 圖5是另一示例工作流過程的流程圖; 圖6是另一示例工作流過程的流程圖; 詳細描述 現參考附圖,其中相同的標號表示相同的元素,將描述本發明的各個方面。具體 地,圖1和相應的討論旨在提供對其中可以實現本發明的更實施例的合適的計算環境的簡 單、概括描述。盡管將在于服務器和個人計算機系統上執行的計算模塊的一般上下文環境 中描述本發明,但本領域的技術人員應該意識到,本發明也可以結合其它類型的計算機系 統和程序模塊來實現。 —般而言,程序模塊包括執行特定任務或實現特定的抽象數據類型的例程、程序、 組件、數據結構、和其它類型的結構。而且,本領域的技術人員將了解,本發明可以用其它計 算機系統配置來實施,其中包括手持式設備、多處理器系統、基于微處理器的或可編程消費 電子產品、小型計算機、大型計算機等。本發明也可以在分布式計算環境中來實施,在其中 可以用通過通信網絡鏈接的遠程處理設備來執行任務。在分布式計算環境中,程序模塊可 以位于本地和遠程存儲器存儲設備兩者中。 現參考圖l,將描述在本發明的各實施例中使用的計算機2的說明性計算機體系結構。圖1中示出的計算機體系結構示出了常規的臺式或膝上型計算機,其包括中央處理 單元5( "CPU")、包括隨機存取存儲器9(RAM)和只讀存儲器("ROM") 11的系統存儲器7、 以及將存儲器耦合到CPU 5的系統總線12。包括如在啟動期間幫助在計算機內的各個元件 之間傳輸信息的基本例程的基本輸入/輸出系統存儲在ROM 11中。計算機2還包括用于 存儲操作系統16、應用程序和其它程序模塊的大容量存儲設備14,下面將對此進行更詳細 的描述。 大容量存儲設備14通過連接到總線12的大容量存儲控制器(未示出)連接到CPU 5。大容量存儲設備14及其相關聯的計算機可讀介質為計算機2提供非易失性存儲。雖 然在此包括的對計算機可讀介質的描述指諸如硬盤或CD-ROM驅動器等大容量存儲設備, 但本領域的技術人員應意識到,計算機可讀介質可以是能夠被計算機2訪問的任何可用介 質。 作為示例,而非限制,計算機可讀介質可以包括計算機存儲介質和通信介質。計算 機存儲介質包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或其它數據等信息 的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質包 括,但不限于,RAM、 R0M、 EPR0M、 EEPR0M、閃存或其它固態存儲器技術,CD-ROM、數字通用盤 ("DVD")或其它光學存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設備、或可以用來存儲 期望信息并可被計算機2訪問的任何其它介質。 根據本發明的各種實施例,計算機2可以使用通過諸如因特網等網絡18到遠程計 算機的邏輯連接在網絡環境中運行。計算機2可以通過連接到總線12的網絡接口單元20 連接到網絡18。應意識到,也可以使用網絡接口單元20來連接到其它類型的網絡或遠程計 算機系統。計算機2還可以包括輸入/輸出控制器22,以用于接收和處理來自包括鍵盤、鼠 標、或電子觸控筆(圖l未示出)等多個其它設備的輸入。類似地,輸入/輸出控制器22 可以提供輸出到顯示屏、打印機或其它類型的輸出設備。 多個程序模塊和數據文件可以存儲在計算機2的大容量存儲設備14和RAM中,這 可以包括適用于控制聯網個人計算機的操作的操作系統16。大容量存儲設備14和RAM 9 也可以存儲一個或多個程序模塊。特別地,大容量存儲設備14和RAM 9可以存儲電子表格 應用程序10。而且,電子表格應用程序10可以用于生成、訪問和修改例如工作薄24。
根據本發明的一個實施例,電子表格應用程序10包括來自微軟公司的EXCEL電子 表格應用程序。然而,應意識到,也可以利用來自其它制造商的其它電子表格應用程序來體 現在此描述或預期的各種方面。 工作薄是由電子表格程序創建的文件,其包括一個或多個工作表(也可以在此將 工作表稱為"電子表格")。工作表是在電子表格程序內被組織成行和列并在屏幕上顯示的 單個頁面。通過對這些特征的使用,用戶可以創建財政和數字問題和解決方案的模型。或 者,例如,如果文件格式是公共的,例如為可擴展標記語言(XML)文件格式,則例如可以通 過編程來創建工作薄。 可以顯示電子表格文檔。計算機的用戶可以與電子表格的顯示交互。也可以允許 用戶請求在電子表格應用程序10中打開電子表格文件。響應于這種請求,將啟動電子表格 應用程序IO,并且將由電子表格應用程序10來加載電子表格文件。 現參考圖2,將描述示出了用于本發明的各個實施例的操作環境的網絡體系結構
6圖。如圖2所示,計算機2連接到網絡18。同時連接到網絡18的有服務器34。服務器34 包括服務器計算機,它可以包括前面參考圖l描述的一些或所有常規的計算組件。服務器 34可以接收并響應于對存儲在例如數據源30、數據庫42或其它存儲設備等服務器34處的 或該服務器34可訪問的文檔的請求。 可以向計算機2的用戶提供界面,以便與可通過網絡34來訪問的電子表格或工作 薄交互。可以提供服務器的應用程序編程接口 ( "API"),以使該API可用于啟用與電子表 格計算服務器32的通信。電子表格計算服務器32可用于執行電子表格計算服務器程序 40。電子表格計算服務器程序40包括例如用于檢索和計算諸如存儲在數據庫42中的工作 簿44等電子表格的可執行程序。 在工作流中,當存在人為交預步驟時,用戶可以使用電子表格應用程序IO,但是并 不一定要有工作薄24的單獨副本。有時,可能存在單獨副本(例如,服務器發送了包括該 副本的電子郵件),并且有時用戶可以使用程序10來查看服務器工作薄44。此外,構想了 工作薄44可以駐留在任何地方,諸如駐留在文件系統上,而非在數據庫中。應意識到,在此 處描述的本發明的各實施例中,電子表格計算服務器程序40包括計算服務器,諸如來自微 軟公司的EXCEL CALCULATION SERVER (EXCEL計算服務器)程序。然而,可以利用在服務器 計算機上的用于計算電子表格的其它程序。同時應意識到,計算服務器42可以包括以上參 考圖1描述的許多常規硬件和軟件組件。 工作流包括活動。常規上,每一活動被串在一起來創建工作流,它是一順序過程, 動作可通過該過程發生。電子表格具有可以隨時間變化的易變數據。理想的是擴展工作流, 以便將電子表格計算活動作為工作流過程的一部分來展示。 圖3是包括活動300、310、320、330、340、350的示例工作流3的框圖。工作流可以 包括例如用戶界面入口點、執行活動和保存活動。雖然只示出了六種活動,但構想了在工作 流中可以包括任意數量的活動。提供了利用諸如EXCEL計算等電子表格計算的活動,例如 活動320。該工作流通過活動300和310進展,然后對于活動320,執行對來自電子表格的 值的計算和提取。因此,電子表格計算被集成到工作流中而無需用戶干預。例如,電子表格 計算可作為自動化工作流中的一個步驟來調用。在工作流期間,例如在活動320處,重新計 算電子表格文件。 可以獲得來自工作流中的先前的活動的值,并可將其提供給電子表格(例如,設 置、修改或調整單元格值)。然后可使用這些所獲得的值來重新計算電子表格。如圖3所 示,例如,可以將來自活動300和/或310的值提供給活動320,活動320可將這些值用于其 電子表格計算。 而且,來自電子表格的值還可以在工作流的后續部分中使用。如圖3所示,例如, 可以將在電子表格活動320處確定的值提供給活動330和/或340,以在這些活動中使用。 構想了可以將任何數量的電子表格活動合并到工作流中,并且第一電子表格活動320可以 向工作流中的第二電子表格活動350或任何其它活動提供值。當計算了電子表格活動以 后,或者在激活觸發器,或滿足條件或閾值時,例如,可以(例如通過電子郵件)通知用戶, 或者可以通知軟件系統。通知可以包括各種內容,包括計算出的工作薄、工作薄的統一資源 定位符(URL)、觸發該通知的單元格的值、和/或預定值。通知過程本身可以被認為是一活 動。在這一實施例中,通知活動可以基于電子表格活動的結果來觸發或者通過其它方式來激活或調用。 通知可以基于滿足某種閾值或條件的電子表格單元格中的值來設置。因此,例如 當電子表格單元格變化時,可以例如通過電子郵件來通知用戶,或者可以通知軟件系統。可 以例如在特定的時間、以預定的間隔、或者分離觸發等來刷新和計算電子表格。相對預先配 置的閾值來評估特定單元格。如果滿足閾值,則理想地或者用電子郵件、即時消息的形式、 或者用對web服務或對象模型的調用、編程調用等的形式來觸發通知。接收電子郵件的用 戶相似知道已經滿足閾值后,可以采取動作。類似地,接收通知的軟件系統可以基于該通知 來采取動作。在未滿足閾值的情況下,時間并沒有被用戶浪費,因為操作是由系統在沒有用 戶干預的情況下執行的。作為要使通知基于一個或多個單元格值的替換,可以使通知基于 工作簿已被計算的事實,或者可以使其基于工作流的狀態。 —示例性觸發器類型是電子表格文件的創建或編輯。例如,假設用戶向開支報告 文檔庫提交了一新的開支報告電子表格文件。結果,工作流激活了,并且例如如果該開支報 告總和超過某一閾值,則會將通知發送給管理器。 理想的是提供一用戶界面,使用戶可以標識電子表格中他想要跟蹤的特定單元 格,并使用戶可以定義閾值和要采取的動作(電子郵件等)。用戶還可以指定要在哪個時間 表或事件上刷新和計算電子表格,并評估所跟蹤的值。 例如,假設提供了基于來自后端系統的數據計算倉庫存貨,并且在工作薄中預告 計算的電子表格。用戶能夠設置諸如EXCEL CALCULATION SERVER等系統、在每天上午刷 新工作薄、并相對預定閾值(例如,值或公式)檢查存貨的數量,而非每天上午都投入工作 并加載工作簿、刷新數據并檢查數字。在存貨還處于檢查中的所有日子期間,用戶不需要 打開電子表格并花費時間來手動加載、刷新、重新計算和檢查值。當滿足閾值時,用戶將從 EXCELCALCULATION SERVER接收電子郵件的通知。或者,例如, 一 自動存貨補給系統將得到 重新進貨的通知。構想了可以在工作流完成時提供通知。 圖4是一示例性過程的流程圖。該工作流使得能夠調度計算,并且使得能夠自動 計算電子表格。可以提供一用戶界面來接收輸入參數。也可以提供通知。例如,通知可以基 于電子表格中單元格的值來提供。通知可以在如文件變化時和/或按照調度的啟動。計算 電子表格,并針對條件檢查輸出,然后基于該結果,將通知發送到例如預定的用戶或地址。
在步驟400處,例如由用戶、應用程序或進程來啟動工作流。例如,電子表格的創 建或編輯可以啟動工作流。在步驟410處,可以通過例如用戶界面向用戶提供表單。該表 單可以在本地、或者例如通過網絡在服務器處、或者以部分地在本地且部分地在遠程的方 式生成并提供。在步驟420處,用戶可以輸入關于執行的信息(例如,參數、幾個單元格的 值、保存路徑或選項、輸出格式、通知遞送方法等)。這種信息可以被本地和/或遠程地存儲 (例如在服務器處、通過網絡等)。隨后,在步驟430處,該工作流開始。
在步驟440處,例如以順序的次序處理并執行該工作流中的活動。在步驟450處, 調用工作流中的電子表格活動。在步驟455處,將在步驟420處從用戶接收到的或者從工作 流中的先前的活動接收到的值設置到電子表格中。在步驟460處,工作流自動計算電子表 格的值。工作流活動可以使用輸入參數設置、單個標量輸出值、和可任選的保存為,連同例 如快照能力一起計算。構想了例如處理和計算可以本地和/或遠程地(例如在服務器處, 通過網絡等)執行。在一實施例中,電子表格活動是由加載、參數化、并執行EXCEL工作簿
8的EXCELCALCULATION SERVER提供的工作流活動,從而將工作簿的結果返回給工作流以供 進一步處理。 更具體地,可以使用諸如EXCEL CALCULZTION SERVER等電子表格程序來加載、參 數化和執行工作流活動。因此,工作流加載活動、允許設置輸入參數、以及計算電子表格,包 括刷新外部數據。執行活動在其被調用時,諸如在打開電子表格、設置參數和值、以及計算 (刷新或重新計算)電子表格時,執行電子表格中的動作。基于這些值,確定是否應形成任 何通知。這可以在例如編程性觸發器或工作流中實現。 在計算了電子表格的值后,可以開始通知活動。例如,在步驟462處確定是否已滿 足閾值或條件。例如,可以將一單元格的值與閾值比較。應注意,閾值可以來自或基于單元 格。如果已滿足閾值或條件,則在步驟465處提供通知。如果尚不滿足閾值或條件,則不提 供通知。或者,例如,如果工作流中的活動已結束,則可以提供通知。 在步驟470處,活動可以隨后顯示輸出值,或者可以將該計算保存在預定位置處。 而且,在步驟480處,可以將電子表格計算的結果提供給工作流以供進一步使用和處理。應 注意,對是否滿足閾值或條件的確定可以在該示例過程的任何地方執行,諸如可以在步驟 470以后或者在步驟480以后執行。在一示例實施例中,可在工作流完成時提供通知。
圖5是另一個示例過程的流程圖。圖5包括類似于前面參考圖4描述的元素。這 些元素被同樣地標記,并且為簡單起見省略其描述。在圖5中,并非在一接收到信息(步驟 420)就開始工作流(步驟430),而是例如在步驟422處調度工作流在某個時間或在一特定 事件發生時開始。該調度的時間或事件可以由例如用戶、應用程序或進程來提供。可以選擇 以例如一特定日期/時間開始的頻率(例如,一次、每小時、每天、每星期等)。在步驟426 處,當調度的時間或事件到來時,則在步驟430處開始工作流。通過這種方式,可以推遲或 延遲工作流,直到例如接收到供以后在工作流中使用的附加數據。通知活動以類似于前面 參考圖4所闡明的方式繼續。 圖6是示例通知過程的流程圖。工作流例如按照調度的事件在步驟600處開始。 在步驟610處,計算電子表格中單元格的值,并隨后在步驟620處檢索該值。例如,EXCEL CALCULATION SERVER可以計算并檢索單元格的值。通知活動隨后可以開始。在步驟630 處,基于檢索到的單元格的值,確定是否已滿足條件或閾值。如果滿足,則在步驟640處提 供通知,如果還不滿足條件或閾值,則在步驟650處不提供通知。 在一示例實施例中,執行計算并保存結果。假設用戶希望計算帶有特定值的復雜 模型,并且這種模型要花很長時間來計算,從而束縛了客戶端機器。用戶可以手動地啟動該 計算工作流。提供一表單,在該表單中參數化一些單元格并設置結果文件名,然后開始工作 流。用戶還可以在表單中指明他是否想要通知。當文件準備好時,一電子郵件通知將被發 送給用戶(可以附加該文件,或者可以發送URL),或者例如可以將可觸發通知的各單元格 的值附加到該通知。 在另一個示例實施例中,可以調度計算,例如用于隨后的離線查看。例如,假設用 戶希望每天上午都計算電子表格工作簿,以反映前一天晚上的存貨量。可以將該電子表格 工作簿在電子郵件中發送給用戶。用戶調度一計算工作流,以使其每天上午4點在該文件 上開始。每天上午,將該電子表格工作簿的更新后的版本在電子郵件中發送給用戶。取決 于設置,這可以是電子表格工作簿的快照,也可以是完整的電子表格工作簿。
可以構建一工作流來例如打開電子表格、讀取輸出值、以及更新文件的文檔庫中的特性。假設一文檔庫包括團隊的開支報告,并且所有報告都使得總開支在單元格Sheetl:B2中。該庫具有一"總開支"列。只要一新的開支報告文件被放入該庫, 一工作流就激活,讀取單元格Sheetl:B2,并更新該文件的"總開支"特性,以使該值在文檔庫(doclib)視圖中示出。 提供了涉及單元格通知的一個示例。假設用戶需要審計超過$1000的任何已提交的開支報告。為了實現這個目的,他導航到開支應用程序會在其中放入新的開支報告的doclib,并選擇"修改設置和列",然后在接下來的頁面中點擊"添加工作流"。用戶將每次doclib中的檔案變化時需要啟動的"單元格通知"工作流與doclib相關聯。用戶添加"開支總和"單元格名稱、條件( > )和值(1000)及其電子郵件別名來作為參數。現在,每次開支報告被放入doclib時,該工作流就啟動,檢查條件,并且如果滿足條件時,該用戶會接收到電子郵件。可以例如基于變化或按照所調度的來啟動單元格通知。 存在多種實現技術,例如合適的API、工具箱、驅動程序代碼、操作系統、控件、獨立的或可下載的軟件對象等,其使得應用程序和服務能夠使用用于提供和啟動功能的系統和方法。在此描述的各種實現可以具有完全硬件、部分硬件且部分軟件、以及軟件的方面。
如在前面提到的,盡管結合了各種計算設備和網絡體系結構描述了示例性實施例,但該基本概念可以適用于使用工作流的任何計算設備或系統。例如,本發明的算法和硬件實現可以被應用于計算設備的操作系統、作為設備上的獨立對象來提供、作為另一個對象的一部分、作為可重用的控件、作為可從服務器下載的對象、作為設備或對象與網絡之間的"中間人"、作為分布式對象、作為硬件、在存儲器中、或前面的任意一個的組合等。盡管在此選擇了示例性編程語言、名稱和示例來作為各種選擇的表示,但這些語言、名稱和示例并不旨在是限制性的。本領域的普通技術人員將意識到,存在提供目標代碼和命名法的許多方法,這些方法可實現由各種實施例所實現的相同、相似或等效的功能。
如所提到的,在此描述的各種方法可以結合硬件、或軟件、或者在合適的地方使用兩者的組合來實現。因此,此處的方法和裝置、或其某些方面或部分可以采用包含在諸如軟盤、CD-ROM、硬盤驅動器、或任何其它機器可讀存儲介質等有形介質中的程序代碼(即,指令)的形式,其中當將程序代碼加載到機器(諸如計算機)中并被該機器執行時,該機器就變成了用于實施本發明的裝置。對于在可編程計算機上執行程序代碼的情況,計算設備一般包括處理器、可被處理器讀取的存儲介質(包括易失性和非易失性存儲器和/或存儲元件)、至少一個輸入設備、和至少一個輸出設備。可以實現或利用在此描述各個方面的一個或多個程序優選地用高級過程語言或面向對象的編程語言來實現,以便與計算機系統進行通信。然而,如果期望的話,程序可以用匯編語言或機器語言來實現。在任何情況下,該語言可以是編譯或解析的語言,并可與硬件實現相結合。 該方法和裝置也可以借助以程序代碼的形式體現的通信來實施,其中該程序代碼是通過某些傳輸介質(諸如,通過電線或電纜、通過光纖、或借助任何其它傳輸形式)來傳輸的,其中,當接收到程序代碼并將其加載到諸如EPR0M、門陣列、可編程邏輯器件(PLD)、客戶端計算機等機器上并由這些機器來執行該程序代碼時,該機器就變成了用于實施本發明的裝置。當在通用處理器上實現時,該程序代碼可與處理器結合來提供用于調用功能的唯一裝置。另外,任何存儲器技術總是可以是硬件與軟件的組合。
盡管已經描述了優選實施例,但應了解,可以使用其它類似的實施例,或者可以對 所描述的實施例進行修改和添加,以便用于執行相同的功能,而不會偏離這些實施例。應強 調的是,尤其是在無線網絡設備的數量持續增長時,包括手持式設備的操作系統和其它應 用專用操作系統等多種計算機平臺是可以預期的。 雖然已經用結構特征和/或方法動作所專用的語言描述了本主題,但應了解,所 附權利要求書中所限定的主題并不一定要限于上面描述的具體特征或動作。相反,以上所 描述的具體特征和動作是作為實現權利要求書的示例性形式來公開的。
權利要求
一種在工作流(3)中執行電子表格計算的方法,包括在所述工作流中調用電子表格活動(320,450);計算所述電子表格中與所述電子表格活動(320)相關聯的值(460);以及基于預定的條件,提供基于單元格的通知(462,465)。
2. 如權利要求1所述的方法,其特征在于,提供所述通知包括如果所述值與所述預定的條件匹配(462),則提供通知(465)。
3. 如權利要求2所述的方法,其特征在于,還包括在提供所述通知之前,將所述值與所述預定的條件進行比較(462)。
4. 如權利要求l所述的方法,其特征在于,所述預定條件是工作流活動的終止(630)。
5. 如權利要求1所述的方法,其特征在于,所述通知包括發送電子郵件、即時消息、或者對web服務或對象模型的調用(465)。
6. 如權利要求1所述的方法,其特征在于,所述通知包括各種內容,所述內容包括計算出的工作簿、工作簿的統一資源定位符(URL)、觸發所述通知的單元格的值、和預定值中的至少一個(465)。
7. 如權利要求l所述的方法,其特征在于,還包括在計算所述值(460)之前接收關于如何提供所述通知的指示(465)。
8. 如權利要求1所述的方法,其特征在于,還包括在所述工作流中調用所述電子表格活動(400)之前,創建或編輯電子表格。
9. 如權利要求l所述的方法,其特征在于,所述工作流(3)包括后續活動(350),并且所述方法還包括向所述后續活動(350)提供所述值。
10. 如權利要求l所述的方法,其特征在于,所述工作流(3)包括前導活動(310),并且所述方法還包括在計算所述值之前所述前導活動(310)向所述電子表格活動(320)提供信息。
11. 一種在工作流(3)中執行電子表格計算的方法,包括調度包括電子表格活動(320)的所述工作流(3)按照一調度的事件開始(422);按照所述調度的事件的發生(426)開始所述工作流(3);在所述工作流中調用所述電子表格活動(320,450);計算電子表格中與所述電子表格活動(320)相關聯的值(460);以及基于一預定條件,提供基于單元格的通知(462,465)。
12. 如權利要求11所述的方法,其特征在于,提供所述通知包括如果所述值與所述預定條件匹配,則提供所述通知(462,465)。
13. 如權利要求ll所述的方法,其特征在于,所述預定條件是工作流活動的終止(630)。
14. 如權利要求11所述的方法,其特征在于,所述通知包括發送電子郵件、即時消息、或者對web服務或對象模型的調用(465)。
15. 如權利要求11所述的方法,其特征在于,所述通知包括各種內容,所述內容包括計算出的工作簿、工作簿的統一資源定位符(URL)、觸發所述通知的單元格的值、和預定值中的至少一個(465)。
16. 如權利要求11所述的方法,其特征在于,調度所述工作流包括通過由用戶提供的數據接收關于所述調度的事件的信息(410,420)。
17.如權利要求ll所述的方法,其特征在于,所述調度的事件包括預定時間(426)。
全文摘要
一工作流包括利用電子表格計算的活動。對于電子表格活動,可執行對來自電子表格的各個值的計算和提取。因此,電子表格計算被集成在工作流中,而無需用戶干預。當工作流完成后,或者在計算了電子表格活動后,或者在滿足閾值或條件時,可以(例如,通過電子郵件、即時信息等)通知用戶或系統。可以獲得并向電子表格提供來自工作流中的先前的活動的值(例如,設置、修改或調整單元格的值)。隨后可以使用這些所獲得的值來重新計算電子表格。而且,來自電子表格的值還可以用于工作流的后續部分。同時,可以將任意數量的電子表格活動合并到工作流中,并且一個電子表格活動可以向工作流中的第二電子表格活動提供值。
文檔編號G06F17/24GK101699427SQ20091025311
公開日2010年4月28日 申請日期2006年12月5日 優先權日2005年12月8日
發明者D·Y·凱恩, D·巴塔金, E·梅格多, L·艾斯納什, S·W·貝舍 申請人:微軟公司