本申請(qǐng)是申請(qǐng)日為2012年11月2日、申請(qǐng)?zhí)枮?01210434821.7的發(fā)明專利申請(qǐng)的分案申請(qǐng)。
本發(fā)明涉及電子表格,尤其涉及web小工具和電子表格之間的交互。
背景技術(shù):
電子表格用于許多不同用途,諸如分析、管理和共享信息。例如,用戶可配置虛擬化工具來幫助跟蹤和突出顯示重要的數(shù)據(jù)趨勢(shì)。許多用戶和企業(yè)嘗試向電子表格應(yīng)用添加定制功能,但是對(duì)這些添加進(jìn)行編程可能是困難的,并且限于電子表格應(yīng)用所暴露出來的功能。
技術(shù)實(shí)現(xiàn)要素:
提供本發(fā)明內(nèi)容以便以簡(jiǎn)化形式介紹將在以下具體實(shí)施方式中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
小工具(gadget)與電子表格和電子表格計(jì)算引擎集成。小工具可被綁定到(一個(gè)或多個(gè))單元格的一范圍和/或綁定到表單內(nèi)的對(duì)象。為了說明,術(shù)語(yǔ)“綁定到單元格的范圍”包括綁定到以下的至少一個(gè):?jiǎn)卧窈碗娮颖砀駜?nèi)的對(duì)象。當(dāng)綁定范圍的單元格中的一個(gè)或多個(gè)被訪問(例如,選擇、懸停于其上、編輯、刪除、添加)時(shí),小工具能夠被應(yīng)用編程接口(api)或其他系統(tǒng)通知。小工具可使用此信息來更新該小工具所呈現(xiàn)的顯示畫面和/或執(zhí)行某種其他動(dòng)作。該小工具可呈現(xiàn)從電子表格獲取的數(shù)據(jù),同時(shí)該電子表格應(yīng)用對(duì)查看該小工具的任何未授權(quán)用戶保護(hù)電子表格本身中的后端邏輯和計(jì)算細(xì)節(jié)。該小工具使用應(yīng)用編程接口(api)來創(chuàng)建綁定、與電子表格通信、以及執(zhí)行電子表格中的動(dòng)作。該小工具可以是電子表格內(nèi)的命名項(xiàng)(nameditem)對(duì)象,以使得該小工具可以與其他對(duì)象不同地被查看/顯示(例如,被選擇以在報(bào)告、儀表板(dashboard)……中公開)。小工具的一些實(shí)現(xiàn)將嘗試檢測(cè)并阻止做出過時(shí)請(qǐng)求而使得該小工具和電子表格應(yīng)用將不對(duì)最新的數(shù)據(jù)進(jìn)行操作。
附圖說明
圖1示出了示例性計(jì)算設(shè)備;
圖2示出了將小工具與電子表格和電子表格計(jì)算引擎集成的示例性系統(tǒng);
圖3示出小工具和電子表格的示例性顯示畫面;
圖4是示出生成跨包括小工具在內(nèi)的多個(gè)對(duì)象源的命名對(duì)象視圖報(bào)告的功能框圖;
圖5示出了用于將小工具綁定到電子表格的過程;以及
圖6示出了小工具與電子表格交互的過程。
具體實(shí)施方式
現(xiàn)在參考其中相同的標(biāo)號(hào)代表相同的元素的附圖,描述各實(shí)施例。具體地,圖1和相應(yīng)的討論旨在提供對(duì)在其中可實(shí)現(xiàn)各實(shí)施例的合適計(jì)算環(huán)境的簡(jiǎn)要、概括描述。
一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。也可使用其它計(jì)算機(jī)系統(tǒng)配置,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、小型計(jì)算機(jī)、大型計(jì)算機(jī)等等。還可使用在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備兩者中。
現(xiàn)在參考圖1,將描述在各實(shí)施例中利用的計(jì)算機(jī)100的說明性計(jì)算機(jī)架構(gòu)。圖1所示的計(jì)算機(jī)體系結(jié)構(gòu)可被配置為移動(dòng)計(jì)算設(shè)備(例如智能電話、筆記本、平板……)或桌面計(jì)算機(jī),并且包括中央處理單元5(“cpu”)、包括隨機(jī)存取存儲(chǔ)器9(“ram”)和只讀存儲(chǔ)器(“rom”)10的系統(tǒng)存儲(chǔ)器7、以及將存儲(chǔ)器耦合至中央處理單元(“cpu”)5的系統(tǒng)總線12。
基本輸入/輸出系統(tǒng)存儲(chǔ)在rom10中,所述基本輸入/輸出系統(tǒng)包含幫助在諸如啟動(dòng)期間在計(jì)算機(jī)內(nèi)元件之間傳遞信息的基本例程。計(jì)算機(jī)100還包括用于存儲(chǔ)操作系統(tǒng)16、諸如電子表格應(yīng)用的應(yīng)用程序24和/或與表格數(shù)據(jù)一起工作的其它應(yīng)用、web瀏覽器25、文件27(例如電子表格)以及小工具管理器26的大容量存儲(chǔ)設(shè)備14,這將在以下更為詳盡地描述。web瀏覽器25可用于請(qǐng)求、接收、呈現(xiàn)以及提供與諸如網(wǎng)頁(yè)、視頻、文檔等之類的電子內(nèi)容的交互。根據(jù)一實(shí)施例,web瀏覽器包括來自微軟公司的internetexplorerweb瀏覽器應(yīng)用程序。
大容量存儲(chǔ)設(shè)備14通過連接至總線12的大容量存儲(chǔ)控制器(未示出)連接到cpu5。大容量存儲(chǔ)設(shè)備14及其相關(guān)聯(lián)的計(jì)算機(jī)可讀介質(zhì)為計(jì)算機(jī)100提供非易失性存儲(chǔ)。雖然此處包含的對(duì)計(jì)算機(jī)可讀介質(zhì)的描述涉及諸如硬盤或cd-rom驅(qū)動(dòng)器等大容量存儲(chǔ)設(shè)備,但是計(jì)算機(jī)可讀介質(zhì)可以是能夠由計(jì)算機(jī)100訪問的任何可用介質(zhì)。
作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以存儲(chǔ)如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)來實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)還包括,但不限于,ram、rom、可擦除可編程只讀存儲(chǔ)器(“eprom”)、電可擦可編程只讀存儲(chǔ)器(“eeprom”)、閃存或其它固態(tài)存儲(chǔ)器技術(shù)、cd-rom、數(shù)字多功能盤(“dvd”)或其它光存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)100訪問的任何其它介質(zhì)。
根據(jù)各實(shí)施例,計(jì)算機(jī)100可以使用通過諸如因特網(wǎng)的網(wǎng)絡(luò)18至遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。計(jì)算機(jī)100可以通過連接至總線12的網(wǎng)絡(luò)接口單元20來連接到網(wǎng)絡(luò)18。網(wǎng)絡(luò)連接可以是無(wú)線的和/或有線的。網(wǎng)絡(luò)接口單元20也可用于連接到其它類型的網(wǎng)絡(luò)和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)。計(jì)算機(jī)100也可包括輸入/輸出控制器22,用于接收和處理來自包括觸摸輸入設(shè)備28的多個(gè)其他設(shè)備的輸入。觸摸輸入設(shè)備可利用允許識(shí)別單次/多次觸摸輸入(觸摸/非觸摸)的任何技術(shù)。例如,技術(shù)可包括但不限于:熱量、手指壓力、高俘獲率照相機(jī)、紅外光、光學(xué)捕捉、調(diào)諧的電磁感應(yīng)、超聲波接收器、傳感麥克風(fēng)、激光測(cè)距儀、陰影捕捉等。根據(jù)一個(gè)實(shí)施例,觸摸輸入設(shè)備可以被配置為檢測(cè)接近觸摸(即在離觸摸輸入設(shè)備的某個(gè)距離內(nèi),但是與所述觸摸輸入設(shè)備沒有物理上接觸)。觸摸輸入設(shè)備28也可以作為顯示器。輸入/輸出控制器22也向一個(gè)或多個(gè)顯示屏、打印機(jī)或其他類型的輸出設(shè)備提供輸出。
相機(jī)和/或某種其他傳感設(shè)備可操作來記錄一個(gè)或多個(gè)用戶以及捕捉計(jì)算設(shè)備的用戶作出的運(yùn)動(dòng)和/或姿勢(shì)。傳感設(shè)備還可操作來捕捉諸如通過話筒口述的單詞和/或捕捉來自用戶的諸如通過鍵盤和/或鼠標(biāo)(未描繪)的其他輸入。傳感設(shè)備可包括能夠檢測(cè)用戶的移動(dòng)的任何運(yùn)動(dòng)檢測(cè)設(shè)備。例如,相機(jī)可以包括微軟
可以通過片上系統(tǒng)(soc)來實(shí)踐本發(fā)明的各實(shí)施例,其中,可以將附圖中示出的每個(gè)或許多組件/處理集成到單個(gè)集成電路上。這樣的soc設(shè)備可包括一個(gè)或多個(gè)處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元以及各種應(yīng)用功能,所有這些都被集成到(或燒錄到摂)芯片基板上作為單個(gè)集成電路。當(dāng)經(jīng)由soc運(yùn)行時(shí),本文所描述的功能中的全部/某些可與計(jì)算機(jī)設(shè)備/系統(tǒng)100的其它組件一起集成到單個(gè)集成電路(芯片)上。
如前簡(jiǎn)述的一樣,多個(gè)程序模塊和數(shù)據(jù)文件可以存儲(chǔ)在計(jì)算機(jī)100的大容量存儲(chǔ)設(shè)備14和ram9內(nèi),包括適于控制聯(lián)網(wǎng)的個(gè)人計(jì)算機(jī)的操作的操作系統(tǒng)16,如華盛頓州雷蒙德市的微軟公司的windows
大容量存儲(chǔ)設(shè)備14和ram9還可以存儲(chǔ)一個(gè)或多個(gè)程序模塊。具體地,大容量存儲(chǔ)設(shè)備14和ram9可以存儲(chǔ)諸如電子表格應(yīng)用等一個(gè)或多個(gè)應(yīng)用程序24。根據(jù)一實(shí)施例,電子表格應(yīng)用是microsoftexcel。結(jié)合該應(yīng)用的操作,小工具管理器26被用來將一個(gè)或多個(gè)小工具與電子表格集成。小工具管理器26可被配置為用于向不同租戶(例如,微軟office365、微軟webapps、微軟sharepointonline)提供資源的應(yīng)用/過程和/或作為基于云的多租戶服務(wù)的一部分。
一般而言,小工具管理器26被配置成處理包括輸入和調(diào)用,所述輸入和調(diào)用包括小工具和電子表格。小工具可以是使用標(biāo)準(zhǔn)web技術(shù)(例如,xml、html、flash、javascript、……)的第一方和/或第三方web擴(kuò)展,所述web擴(kuò)展由另一服務(wù)器(例如,19)托管并與電子表格應(yīng)用相關(guān)聯(lián)。一些小工具可以與表單的內(nèi)容相集成,而其他小工具與表單是分離的。小工具可以在線和/或離線地與電子表格應(yīng)用一起使用,并且可通過鏈接來訪問。小工具被綁定到表單內(nèi)的(一個(gè)或多個(gè))單元格的范圍。當(dāng)所綁定的范圍的單元格中的一個(gè)或多個(gè)被訪問(例如,選擇、懸停于其上、編輯、刪除、添加)時(shí),該小工具被通知。小工具可使用此信息來更新該小工具所呈現(xiàn)的顯示畫面和/或執(zhí)行某種其他動(dòng)作。該小工具可呈現(xiàn)從電子表格獲取的數(shù)據(jù),同時(shí)該電子表格應(yīng)用對(duì)查看該小工具的任何未授權(quán)用戶保護(hù)電子表格本身中的后端邏輯和計(jì)算細(xì)節(jié)。該小工具使用應(yīng)用編程接口(api)29來與該電子表格通信。該api29包括用于將該小工具綁定到該電子表格、從該電子表格獲取內(nèi)容/將內(nèi)容放入該電子表格、改變?cè)撾娮颖砀竦娘@示畫面、請(qǐng)求電子表格用戶界面的顯示等的功能。根據(jù)一實(shí)施例,該小工具是電子表格內(nèi)的命名項(xiàng)對(duì)象,以使得該小工具可以與其他對(duì)象不同地被查看/顯示(例如,被選擇以在報(bào)告、儀表板……中電子顯示/公開)。嘗試檢測(cè)并阻止來自小工具的過期請(qǐng)求被處理而使得該小工具不對(duì)最新的數(shù)據(jù)進(jìn)行操作。如下將提供關(guān)于小工具管理器26的操作的額外細(xì)節(jié)。
圖2示出了將小工具與電子表格和電子表格計(jì)算引擎集成的示例性系統(tǒng)。如所示,系統(tǒng)200包括應(yīng)用程序24、服務(wù)210、小工具管理器26、數(shù)據(jù)存儲(chǔ)240、小工具點(diǎn)260、以及輸入設(shè)備/顯示器202。根據(jù)一實(shí)施例,顯示器202是觸屏設(shè)備。
根據(jù)一個(gè)實(shí)施例,應(yīng)用程序24是被配置為接收來自觸敏輸入設(shè)備202的輸入的電子表格應(yīng)用。例如,小工具管理器26可響應(yīng)于用戶的手指(即手256上的手指)對(duì)菜單選項(xiàng)、小工具組件(例如,選擇交互式條形圖中的圖)、對(duì)電子表格(例如,電子表格250)中的一個(gè)或多個(gè)單元格的選擇、對(duì)電子表格中的列/行的選擇(例如,選擇252)等等。
如所示,服務(wù)210是基于云的和/或基于企業(yè)的服務(wù),被配置來提供關(guān)于一個(gè)或多個(gè)生產(chǎn)力應(yīng)用(例如microsoftexcel、microsoftsharepoint)的服務(wù)。服務(wù)210也可被配置為基于客戶端的應(yīng)用。盡管系統(tǒng)200示出了生產(chǎn)力服務(wù)和/或內(nèi)容管理服務(wù),其它服務(wù)/應(yīng)用可被配置來對(duì)表格數(shù)據(jù)使用分片。應(yīng)用程序24的功能可被包括在服務(wù)210中。
如圖所例示的,服務(wù)210是向任何數(shù)目個(gè)租戶(例如,租戶1-n)提供資源215和服務(wù)的多租戶服務(wù)。根據(jù)一實(shí)施例,多租戶服務(wù)210是基于云的服務(wù),其將資源/服務(wù)215提供給向該服務(wù)進(jìn)行預(yù)訂的租戶,以及與其他租戶數(shù)據(jù)分開地維護(hù)每個(gè)租戶的數(shù)據(jù)并保護(hù)每個(gè)租戶的數(shù)據(jù)。例如,服務(wù)210可被配置成提供對(duì)應(yīng)于生產(chǎn)性應(yīng)用(例如電子表格、內(nèi)容管理、字處理、演示文稿、消息收發(fā)……)等的服務(wù)。
所示的觸摸輸入系統(tǒng)200包括觸摸屏輸入設(shè)備202,當(dāng)接收到觸摸輸入(例如手指觸摸或接近觸摸觸摸屏)時(shí),該觸摸屏輸入設(shè)備可以檢測(cè)到。可利用檢測(cè)用戶的觸摸輸入的任何類型的觸摸屏。例如,觸摸屏可包括一層或多層檢測(cè)觸摸輸入的電容性材料。除了電容性材料之外或代替電容性材料,可使用其他傳感器。例如,可使用紅外(ir)傳感器。根據(jù)一實(shí)施例,觸摸屏被配置成檢測(cè)與可觸摸的表面接觸或位于可觸摸的表面上方的物體。盡管在本說明書中使用術(shù)語(yǔ)“上方”,應(yīng)理解,觸摸面板系統(tǒng)的定向是不相關(guān)的。術(shù)語(yǔ)“上方”旨在可適用于所有這樣的定向。觸摸屏可被配置成確定觸摸輸入被接收的位置(如起點(diǎn)、中間點(diǎn)和終點(diǎn))??赏ㄟ^任何合適的手段,包括如耦合到觸摸面板的振動(dòng)傳感器或話筒,來檢測(cè)可觸摸的表面和物體之間的實(shí)際接觸。用于檢測(cè)接觸的傳感器的示例的非窮盡列表包括:基于壓力的機(jī)構(gòu)、微機(jī)械加速計(jì)、壓電器件、電容傳感器、電阻傳感器、感應(yīng)傳感器、激光振動(dòng)計(jì)和led振動(dòng)計(jì)。
小工具管理器26被配置為處理從觸摸屏202所接收的觸摸輸入。例如,用戶可選擇電子表格250內(nèi)的一個(gè)或多個(gè)單元格(例如,選擇252)以與小工具(例如,小工具254)綁定。在當(dāng)前示例中,用戶選擇了單元格252來標(biāo)識(shí)要與小工具254綁定的單元格的范圍。
小工具包括可以以與web上的其他內(nèi)容相同的方式配置的web內(nèi)容。一般而言,小工具被配置成顯示直觀的信息(informationataglance)并提供對(duì)頻繁使用的工具的輕松訪問。例如,小工具254可以被創(chuàng)建以顯示交互式條形圖,該條形圖可從電子表格(例如,從單元格252)獲取數(shù)據(jù)以及將數(shù)據(jù)放置在該電子表格內(nèi)。例如,用戶可選擇條形圖中的條并將該條拖拽到新的值。在所示示例中,用戶已選擇與位置a4處的單元值相對(duì)應(yīng)的在右側(cè)遠(yuǎn)端的條。在用戶已調(diào)整該條后,a4處的值被小工具更新到電子表格(例如,小工具所確定的當(dāng)前值是5)。小工具不僅能夠示出從電子表格獲取的內(nèi)容,小工具還能使得電子表格的顯示畫面改變。在當(dāng)前示例中,當(dāng)示出小工具254時(shí),與該小工具相關(guān)聯(lián)的單元格被與其他單元格相區(qū)分(例如,邊界在相關(guān)聯(lián)的單元格周圍、單元格被突出顯示、單元格的格式改變等等)。
小工具可被配置成執(zhí)行幾乎任何期望的操作。例如,小工具可被配置成顯示股票報(bào)價(jià)、更新頭條、顯示幻燈片演示、與電子表格數(shù)據(jù)交互(例如,設(shè)置值/獲取值)。
小工具可以使用不同編程技術(shù)來構(gòu)造,諸如:xml、html、javascript、adobeflash等等。小工具可運(yùn)行在網(wǎng)絡(luò)站點(diǎn)(例如,小工具web站點(diǎn)260)、本地機(jī)器上、和/或可被包含在電子表格內(nèi)。該站點(diǎn)可由第三方托管和/或由服務(wù)210托管。小工具可以在線和/或離線地與電子表格應(yīng)用一起使用,并且可通過鏈接來訪問。
小工具與電子表格和電子表格計(jì)算引擎222相集成。一些小工具可以與表單的內(nèi)容相集成,而其他小工具可以與表單分離。如所討論的,小工具可被綁定到表單內(nèi)的(一個(gè)或多個(gè))單元格的范圍。
當(dāng)所綁定的范圍的單元格中的一個(gè)或多個(gè)被交互(例如,選擇、懸停于其上、編輯、刪除、添加)時(shí),該小工具被通知。小工具可使用此信息來更新該小工具所呈現(xiàn)的顯示畫面和/或執(zhí)行某種其他動(dòng)作。
該小工具使用應(yīng)用編程接口(api)230來與該電子表格通信。該api230包括用于將該小工具綁定到該電子表格、從該電子表格獲取內(nèi)容/將內(nèi)容放入該電子表格、改變?cè)撾娮颖砀竦娘@示畫面、請(qǐng)求電子表格用戶界面的顯示等的功能。
小工具與電子表格的其他對(duì)象(表、圖、范圍……)一起被當(dāng)作電子表格的對(duì)象。根據(jù)一實(shí)施例,該小工具還可以是電子表格內(nèi)的命名項(xiàng)對(duì)象,以使得該小工具可以與其他對(duì)象不同地被查看/顯示(例如,被選擇以在報(bào)告、儀表板……中公開)。(參見圖4和相關(guān)討論)。
小工具被配置成與電子表格異步地通信。如此,從小工具到電子表格的調(diào)用可能是過期的(例如,被調(diào)用所引用的數(shù)據(jù)不是當(dāng)前的數(shù)據(jù))。當(dāng)接收到過期的調(diào)用時(shí),通知小工具并且不處理該調(diào)用,以使得小工具不對(duì)它可能沒有意識(shí)到的數(shù)據(jù)進(jìn)行操作。
數(shù)據(jù)存儲(chǔ)240可存儲(chǔ)可與一個(gè)或多個(gè)小工具相關(guān)聯(lián)的電子表格。用戶可從與電子表格應(yīng)用和/或某個(gè)其他應(yīng)用相關(guān)聯(lián)的用戶界面打開文件/工作簿。
取決于用戶的訪問許可,小工具可不同地顯示數(shù)據(jù)。例如,電子表格可約束對(duì)該電子表格內(nèi)的數(shù)據(jù)的訪問和/或小工具可指定約束。例如,用戶沒有訪問權(quán)限的視圖不被顯示在小工具內(nèi),而用戶具有訪問權(quán)限的視圖則被顯示在小工具內(nèi)。該小工具可呈現(xiàn)從電子表格獲取的數(shù)據(jù),同時(shí)該電子表格應(yīng)用對(duì)查看該小工具的任何未授權(quán)用戶保護(hù)電子表格本身中的后端邏輯和計(jì)算細(xì)節(jié)。
圖3示出小工具和電子表格的示例性顯示畫面。
如圖所示,顯示畫面310示出了與兩個(gè)小工具——小工具254和小工具318——相關(guān)聯(lián)的電子表格。小工具254是如圖2中描述的小工具,并且被綁定到所選擇的范圍252。
小工具318是允許用戶顯示值并將數(shù)據(jù)輸入到電子表格中的小工具。例如,小工具318示出用于輸入可被放入電子表格內(nèi)的值的輸入框。在當(dāng)前示例中,用戶已輸入了值1、2、3和4,用于在用戶選擇保存選項(xiàng)之后輸入到綁定位置316中。在當(dāng)前示例中,小工具響應(yīng)于對(duì)輸入框的當(dāng)前選擇而使用api來調(diào)整電子表格的視圖(例如,用戶正在輸入框中輸入值2,使得相應(yīng)的單元格位置被突出顯示)。用戶還可改變電子表格內(nèi)的值,使得小工具重新顯示并更新該值。換言之,對(duì)小工具所做出的改變可以在電子表格中示出,并且對(duì)電子表格所做出的改變可以在小工具中示出。
顯示畫面320示出了電子表格322,其中小工具324顯示在電子表格的顯示畫面附近的任務(wù)窗格中。在當(dāng)前示例中,小工具324被配置成搜索從電子表格外獲取的內(nèi)容,并且提供、顯示并存儲(chǔ)來自電子表格內(nèi)的搜索的結(jié)果。例如,小工具324可使用一個(gè)或多個(gè)搜索服務(wù)來從一個(gè)或多個(gè)位置搜索資源。用戶可決定將所返回的結(jié)果中的一個(gè)或多個(gè)結(jié)果存儲(chǔ)在電子表格322中。響應(yīng)于用戶通過選擇存儲(chǔ)結(jié)果按鈕來選擇存儲(chǔ)結(jié)果,電子表格可顯示用戶界面選擇方法和/或使用戶進(jìn)入觸摸模式,該觸摸模式允許用戶選擇他們想要將結(jié)果存儲(chǔ)在電子表格中的何處。例如,響應(yīng)于允許觸摸輸入選擇位置的api調(diào)用,用戶選擇第一列作為存儲(chǔ)該內(nèi)容的位置。響應(yīng)于該選擇,電子表格將該位置返回給小工具324以使得小工具可將該結(jié)果放入所確定的位置內(nèi)。
圖4是示出生成跨包括小工具在內(nèi)的多個(gè)對(duì)象源的命名對(duì)象視圖報(bào)告的功能框圖。報(bào)告的命名對(duì)象視圖可以從不同的電子對(duì)象源生成。如圖所示,電子數(shù)據(jù)對(duì)象源從諸如工作簿400、小工具401之類的工作簿、以及從數(shù)據(jù)源403獲得。然而,電子對(duì)象源可以是可與對(duì)象相關(guān)聯(lián)的任何文件/數(shù)據(jù)源。例如,從網(wǎng)頁(yè)、公共數(shù)據(jù)源創(chuàng)建的一個(gè)或多個(gè)對(duì)象可以被顯示在命名對(duì)象視圖內(nèi)。在對(duì)象被獲得并被顯示在報(bào)告內(nèi)時(shí),對(duì)象可以被存儲(chǔ)在對(duì)象源內(nèi)或者可以不存儲(chǔ)在對(duì)象源內(nèi)。例如,對(duì)象可以是尚未存儲(chǔ)在電子文件內(nèi)但是存儲(chǔ)在計(jì)算設(shè)備的存儲(chǔ)器內(nèi)的新創(chuàng)建的對(duì)象。
工作簿可以包括不同表單上的多個(gè)對(duì)象。對(duì)象可以是工作簿中可被各自選擇或操縱的任一項(xiàng)目。例如,工作簿400中的對(duì)象可以包括表402、小工具404、單個(gè)數(shù)據(jù)單元格406和條形圖408。其他對(duì)象也可以被包括在工作簿400內(nèi)。如圖所示,小工具401可以包括餅圖410、命名范圍412、圖像414和數(shù)據(jù)透視表416。數(shù)據(jù)源403包括文本框418和線狀圖420。某些對(duì)象可以使用來自公共數(shù)據(jù)源的數(shù)據(jù)。例如,工作簿400內(nèi)的條形圖408、小工具401內(nèi)的餅圖410以及來自數(shù)據(jù)源403的線狀圖420可以從同一數(shù)據(jù)源創(chuàng)建。在一個(gè)實(shí)施例中,可以將對(duì)象定義成涵蓋多個(gè)較小對(duì)象。例如,一個(gè)對(duì)象可以對(duì)應(yīng)于一個(gè)工作簿的多頁(yè)。在另一實(shí)施例中,對(duì)象可以包括動(dòng)態(tài)信息,使對(duì)象尺寸隨時(shí)間變化。例如,命名范圍412可以對(duì)應(yīng)于工作簿(例如,工作簿400和/或某一其他工作簿(未示出))內(nèi)包含的單元格范圍。單元格范圍在尺寸上可以響應(yīng)于電子表格處理而增加或減小。命名范圍可以對(duì)應(yīng)于來自其他數(shù)據(jù)源的范圍。例如,網(wǎng)頁(yè)可以包含隨時(shí)間變化的值的范圍。
報(bào)告可以響應(yīng)于一事件(例如,用戶打開工作簿、選擇用戶界面內(nèi)的命名對(duì)象視圖(nov)選項(xiàng)、進(jìn)行搜索等)自動(dòng)生成。例如,作者用戶或管理員用戶可以訪問來自服務(wù)器的工作簿、網(wǎng)頁(yè)和/或數(shù)據(jù)源中的一個(gè)或多個(gè)以生成報(bào)告430?;蛘?,可以在客戶端處訪問工作簿、網(wǎng)頁(yè)和/或數(shù)據(jù)源。可以自動(dòng)/手動(dòng)地選擇要公布在報(bào)告中的對(duì)象。例如,用戶可以選擇全部/部分對(duì)象以公布在報(bào)告中。例如,用戶可以手動(dòng)地選擇工作簿300中的小工具404、小工具401中的命名范圍312以及數(shù)據(jù)源403中的文本框418和線狀圖420以出現(xiàn)在報(bào)告430中。條形圖408和餅圖410可以被自動(dòng)選擇用來公布,因?yàn)樗鼈兪鞘褂霉矓?shù)據(jù)(例如,相同的數(shù)據(jù)源)來創(chuàng)建的。用戶可以從公布程序界面打開文件/工作簿。在一個(gè)實(shí)施例中,在公布程序界面中提供與對(duì)象相關(guān)聯(lián)的名稱。用戶可以從列表中選擇用于公布的對(duì)象。在一個(gè)實(shí)施例中,可以從多個(gè)工作簿選擇用于公布的對(duì)象。
用戶可以按名稱選擇要包括在報(bào)告430中的對(duì)象,使得每個(gè)所公布的對(duì)象可被容易標(biāo)識(shí)。在一個(gè)實(shí)施例中,所公布的對(duì)象名稱可以自動(dòng)生成。例如,表格402可以被自動(dòng)標(biāo)識(shí)為“表”、“表1”或某一其他唯一名稱。用戶可以對(duì)自動(dòng)生成的名稱重命名。在另一實(shí)施例中,用戶為所公布的對(duì)象定義名稱。例如,小工具404可被定義為“工資單小工具”。同樣,命名范圍412可以被定義為“我的數(shù)據(jù)”。
所選對(duì)象被公布在報(bào)告430中。例如,小工具(“工資單小工具”)406、命名范圍(“我的數(shù)據(jù)”)412、文本框418和線狀圖420被公布在報(bào)告430中。工作簿400、小工具401和數(shù)據(jù)源403的未選中部分不被公布在報(bào)告430中。
根據(jù)一實(shí)施例,搜索使用相同數(shù)據(jù)源的對(duì)象源以確定要從對(duì)象源獲得的對(duì)象。例如,許多對(duì)象源可以使用相同數(shù)據(jù)源來創(chuàng)建對(duì)象(例如,表格、圖表、圖)。在當(dāng)前例子中,條形圖408和餅圖410使用相同的數(shù)據(jù)來創(chuàng)建。用戶可能期望看到使用該數(shù)據(jù)源創(chuàng)建的所有對(duì)象。數(shù)據(jù)源可以被自動(dòng)/手動(dòng)地選擇。例如,數(shù)據(jù)源可以從所選對(duì)象確定,以及/或者數(shù)據(jù)源可以從來自用戶的輸入(例如,通過用戶界面元件)確定。然后,用戶可以選擇nov模式,該模式中,用戶可以通過在從數(shù)據(jù)源獲得的不同視圖中循環(huán)來查看所選對(duì)象。
另一例子包括用戶可以查看網(wǎng)頁(yè)并改變數(shù)據(jù)的情況,從而創(chuàng)建對(duì)于他們對(duì)數(shù)據(jù)的解釋專用的唯一且有趣的視圖。用戶可能希望共享那些視圖,尤其在當(dāng)今社交聯(lián)網(wǎng)的因特網(wǎng)環(huán)境中。在該例中,假定用戶具有朋友,每個(gè)朋友都使用來自網(wǎng)頁(yè)的數(shù)據(jù)作出多個(gè)視圖。這些朋友中的每一個(gè)可以具有用于存儲(chǔ)不同視圖的一個(gè)或多個(gè)對(duì)象源(例如文件)。視圖中的一個(gè)或多個(gè)也可以被存儲(chǔ)在存儲(chǔ)器中。當(dāng)生成報(bào)告以示出從網(wǎng)頁(yè)創(chuàng)建的視圖時(shí),也可以搜索包括不同用戶所創(chuàng)建的視圖在內(nèi)的不同對(duì)象源,來查找相似的對(duì)象。來自不同對(duì)象源的對(duì)象可以被獲得并被包括在報(bào)告中。在對(duì)象的各個(gè)視圖中循環(huán)時(shí),用戶可以在無(wú)需單獨(dú)訪問每個(gè)對(duì)象源的情況下看到所有不同的視圖。
根據(jù)一實(shí)施例,遵守對(duì)象源的許可。用戶沒有訪問權(quán)限的視圖不被顯示,而用戶具有訪問權(quán)限的視圖則被顯示。例如,當(dāng)用戶在查看來自工資單小工具406的顯示時(shí),他們將不能夠訪問他們未被授權(quán)訪問的工資單視圖(例如,其他用戶的工資單信息的視圖)。
向客戶端處的用戶呈現(xiàn)報(bào)告430的命名對(duì)象視圖。根據(jù)一實(shí)施例,報(bào)告不區(qū)分對(duì)象從哪里獲得。根據(jù)另一實(shí)施例,用戶可以查詢對(duì)象以確定它位于何處。例如,用戶可以右鍵點(diǎn)擊所顯示的對(duì)象以找出其位置,以及/或者打開該對(duì)象和從中獲得該對(duì)象的相關(guān)聯(lián)的對(duì)象源。
報(bào)告呈現(xiàn)器在被請(qǐng)求時(shí)將所公布的對(duì)象轉(zhuǎn)換成標(biāo)記語(yǔ)言(ml)。例如,從服務(wù)器訪問對(duì)象源之一(例如,工作簿400)。所公布的對(duì)象的ml版本被轉(zhuǎn)發(fā)至客戶端,供經(jīng)由web瀏覽器顯示。在一個(gè)實(shí)施例中,所公布的對(duì)象被呈現(xiàn)在用戶界面450上。例如,用戶界面450可以是web部件。web部件是具有單一目的的模塊化信息單元。web部件形成了許多網(wǎng)頁(yè)的基本構(gòu)建塊。多于一個(gè)web部件可以被同時(shí)顯示在客戶端處的儀表板上,使得不同的所公布的對(duì)象可以被并排地查看。例如,用戶可以選擇文本框418和線狀圖420供顯示在不同的web部件上,因?yàn)槲谋究?18詳細(xì)描述了線狀圖420內(nèi)呈現(xiàn)的數(shù)據(jù)。
包括所公布的對(duì)象的名稱的工具欄也可被呈現(xiàn)在用戶界面450上。工具欄可用于訪問特定的所公布的對(duì)象。例如,工具欄是包括所公布對(duì)象的名稱的列表在內(nèi)的下拉菜單460。具體而言,下拉菜單360包括“工資單小工具”、“我的數(shù)據(jù)”、文本框和線狀圖的可選條目。其他對(duì)象也可被包括在用戶界面內(nèi)。報(bào)告的命名對(duì)象視圖被呈現(xiàn)在用戶界面550上,帶有第一所公布的對(duì)象(即,“工資單小工具”)。其他所公布的對(duì)象可以響應(yīng)于用戶輸入被呈現(xiàn)在用戶界面450處。例如,用戶可以從下拉菜單460選擇一條目,使用戶界面450刷新,且與所選條目對(duì)應(yīng)的所公布對(duì)象被呈現(xiàn)在用戶界面450上。由此,可以向客戶端處的用戶單獨(dú)顯示每個(gè)所公布的對(duì)象。報(bào)告的命名對(duì)象視圖將用戶的注意力集中在所公布的對(duì)象上。對(duì)象源的非公布對(duì)象不被顯示給用戶。
現(xiàn)在參考圖5和圖6,將描述創(chuàng)建小工具并將小工具與電子表格一起使用的說明性過程。在閱讀本文中給出的例程的討論時(shí),應(yīng)該理解,各個(gè)實(shí)施例的邏輯操作被實(shí)現(xiàn)為:(1)一系列運(yùn)行于計(jì)算系統(tǒng)上的計(jì)算機(jī)實(shí)現(xiàn)的動(dòng)作或程序模塊;和/或(2)計(jì)算系統(tǒng)內(nèi)的互連的機(jī)器邏輯電路或電路模塊。這種實(shí)現(xiàn)是取決于實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)的性能需求的選擇問題。因此,所例示并構(gòu)成本文中描述的實(shí)施例的邏輯操作被不同地稱為操作、結(jié)構(gòu)設(shè)備、動(dòng)作或模塊。這些操作、結(jié)構(gòu)設(shè)備、動(dòng)作和模塊可以用軟件、固件、專用數(shù)字邏輯,以及其任何組合來實(shí)現(xiàn)。
圖5示出用于將小工具綁定到電子表格的過程。
在開始操作后,過程500流向操作510,在操作510提供用于小工具和電子表格之間的交互的api。該api可提供各種功能。例如,該api可提供用于以下各項(xiàng)的功能:將小工具綁定到電子表格、從電子表格獲取內(nèi)容/將內(nèi)容放入電子表格、改變電子表格的顯示畫面、請(qǐng)求電子表格用戶界面的顯示、將與小工具相關(guān)聯(lián)的數(shù)據(jù)存儲(chǔ)在電子表格文件內(nèi)但是不在電子表格的單元格內(nèi)等等。
移至操作520,選擇要綁定到小工具的單元格的范圍。所述選擇可以是用戶對(duì)電子表格內(nèi)的一個(gè)或多個(gè)單元格的選擇和/或通過api做出的選擇。例如,用戶可使用觸摸輸入、與電子表格相關(guān)聯(lián)的用戶界面來選擇電子表格的一個(gè)或多個(gè)單元格,和/或在與api相關(guān)聯(lián)的調(diào)用內(nèi)提供對(duì)象的名稱、單元格的范圍(例如,a1:a9、b1:f3、表1、范圍的名稱、項(xiàng)的名稱等)。根據(jù)一實(shí)施例,對(duì)范圍的選擇使用觸摸輸入。例如,用戶可執(zhí)行手勢(shì)以選擇電子表格的一個(gè)或多個(gè)單元格。另外,根據(jù)一些實(shí)施例,用戶可以僅需要將他們的手指(或某個(gè)其他對(duì)象)放置在用于接收并檢測(cè)觸摸輸入的觸摸表面的表面附近。單元格可包括在電子表格的一個(gè)或多個(gè)行和一個(gè)或多個(gè)列內(nèi)的單元格。所述選擇可被用來標(biāo)識(shí)要與小工具綁定的范圍。
轉(zhuǎn)至操作530,建立小工具和電子表格之間的綁定。所述綁定可指定小工具的唯一名稱、到小工具的鏈接、以及要與小工具相關(guān)聯(lián)的電子表格的單元格的范圍。
移至操作540,存儲(chǔ)綁定信息。根據(jù)一實(shí)施例,綁定信息可被存儲(chǔ)在電子表格內(nèi),以使得當(dāng)復(fù)制電子表格文件時(shí),電子表格和綁定信息與副本一起移動(dòng)。根據(jù)另一實(shí)施例,所述綁定可被存儲(chǔ)在一不同位置以使得小工具不是電子表格文件的一部分。
過程然后行進(jìn)至結(jié)束操作并且返回至處理其他動(dòng)作。
圖6示出了小工具與電子表格交互的過程。
在開始操作后,過程600流至操作610,在操作610針對(duì)何時(shí)要與綁定到小工具的范圍進(jìn)行交互做出確定(例如,電子表格內(nèi)的一個(gè)或多個(gè)單元格被選擇、被懸停于其上、編輯、刪除、添加)。
移至操作620,向小工具通知該交互。根據(jù)一實(shí)施例,該通知向小工具提供綁定范圍已改變。該通知可包括其他信息。例如,該通知可包括已被交互的指定單元格和/或已改變的數(shù)據(jù)。
轉(zhuǎn)至操作630,從小工具接收調(diào)用。根據(jù)一實(shí)施例,通過api調(diào)用接收該調(diào)用。如本文所討論的,調(diào)用可以涉及:將該小工具綁定到該電子表格、從該電子表格獲取內(nèi)容/將內(nèi)容放入該電子表格、改變?cè)撾娮颖砀竦娘@示畫面、請(qǐng)求電子表格用戶界面的顯示等。
移動(dòng)至判定操作640,針對(duì)該請(qǐng)求是否過期做出確定。例如,確定在小工具做出調(diào)用的時(shí)間和電子表格接收到調(diào)用的時(shí)間之間已對(duì)電子表格做出改變。在另一示例中,(例如,在一網(wǎng)絡(luò)位置處的)電子表格應(yīng)用可具有同時(shí)編輯一工作簿的多個(gè)用戶。當(dāng)調(diào)用是過期的時(shí),該過程移至操作650。當(dāng)調(diào)用不是過期的時(shí),該過程流至操作660。
在操作650,向小工具發(fā)送通知,所述通知告知小工具該請(qǐng)求是過期的并且可能不與電子表格中的最當(dāng)前數(shù)據(jù)相關(guān)聯(lián)。響應(yīng)于該通知,該配件可從電子表格獲得最新的數(shù)據(jù)并重新提交該請(qǐng)求和/或執(zhí)行某個(gè)其他操作(例如,取消該操作)。
在操作660,執(zhí)行該操作。該操作可與各種不同動(dòng)作有關(guān)。例如,該操作可以是從該電子表格獲取內(nèi)容/將內(nèi)容放入該電子表格、改變?cè)撾娮颖砀竦娘@示畫面、請(qǐng)求電子表格用戶界面的顯示、標(biāo)識(shí)小工具以用于公布等。
流至操作670,更新顯示畫面。電子表格顯示畫面可被更新和/或小工具顯示畫面可被更新。
過程然后行進(jìn)至結(jié)束操作并且返回至處理其他動(dòng)作。
以上說明、示例和數(shù)據(jù)提供了對(duì)本發(fā)明的組成部分的制造和使用的全面描述。因?yàn)榭梢栽诓槐畴x本發(fā)明的精神和范圍的情況下做出本發(fā)明的許多實(shí)施例,所以本發(fā)明落在所附權(quán)利要求的范圍內(nèi)。