• <source id="34mr4"><object id="34mr4"></object></source>
    
    <center id="34mr4"><optgroup id="34mr4"></optgroup></center>
  • <label id="34mr4"><xmp id="34mr4">
    ?
    您好,歡迎訪問唐山現代電腦培訓學校官網!

    186 3153 9995

    全國咨詢熱線

    您現在所在位置: 主頁 > 行業動態 > 電腦操作

    Excel as a Service ——Excel 開發居然可以這么玩

    更新時間:2022-11-28

          據不完全統計,全世界都在使用它Excel作為電子表格和數據處理的用戶數量為10億,這不僅是因為它使用簡單,而且因為它內置了許多強大的函數,可以結合你的想象力編寫各種公式,并根據數據快速生成圖表和透視分析。另一方面,Excel在整個Office無論是在客戶端,家庭也是開發者最多的組件VBA宏和VSTO插件開發和早年出現SharePoint Server中的Excel Service(包括用于呈現Excel文件的Web Part,以及一套XML Web Service可遠程調用Excel包括自定義在內的功能Excel函數等。

           在Office 365的時代,SharePoint Online中已經將Excel Service刪除了2016年7月左右揭開神秘面紗的功能。Microsoft Graph Excel API,融入Microsoft Graph大家族的Excel Service快速迭代,其功能也趨于穩定。今天,我將用一個例子來介紹它奇妙的設計和應用場景。

    范例介紹

          想象一下,你用Excel通過輸入幾個參數,制作了一個非常強大的抵押貸款計算表Excel自帶的PMT函數計算月還款金額,因此快速生成還款計劃,如下圖所示:

    PMT 根據固定支付金額和固定利率計算貸款支付金額的財務函數。如果您感興趣,請參考 https://support.office.com/zh-cn/article/PMT-函數-0214DA ** -9A63-4996-BC20-214433FA ** 41 的幫助。

    同時,您還可以輕松生成數據列表和相應的圖表,如下圖所示

          通過改變購買價格、利率、貸款期、貸款金額等單元格的價值,Excel會自動計算其他單元格的值,包括自動刷新圖表。所有這些都是大多數表兄弟非常熟悉的體驗。

    那么問題來了:如果你想在一個網頁上實現抵押貸款計算的功能,你應該自己實現一次嗎?PMT這個函數的功能呢?我不知道,但我想你讀完這篇文章后會改變一些想法—— 我們可以完全給出這些計算Excel Service直接調用前端應用。

    使用Microsoft Graph中的Excel API,您不僅可以訪問工作簿、工作表、單元格、表格和圖表,修改它們的屬性和值,甚至以圖片的形式讀取圖表,一切都在您的掌握之中。接下來,用示例代碼來展示這些美妙的場景。

    Microsoft Graph Excel API請參考官方文件 https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/resources/excel使用Microsoft Graph 獲取工作簿和單元格

          要使用Micrsosoft Graph Excel API,你只需要將Excel文件放到OneDrive for Business或者SharePoint Online可以在文檔庫中使用。例如,我把演示文件放在目錄中:

    你需要知道一些Microsoft Graph背景知識,如果你是對的Microsoft Graph不熟悉。我建議你參考我之前的兩篇文章

    Microsoft Graph 概述通過Graph Explorer體驗Microsoft Graph

          本文采用的方法是使用Graph Explorer這樣操作Microsoft Graph Excel API。我的文件在OneDrive for Business 個人云盤根目錄下方testgraph文件名稱在目錄中 demofile.xlsx,所以我可以用GET https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook拿到這本工作簿

          通過 GET https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook/worksheets 在工作簿中獲得所有工作表信息

    通過 GET https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook/worksheets/抵押計算器/range(address='c4&#39;)可獲得名為抵押計算器的工作表C4單元格對象

          當然,單元格對象也可以通過名稱訪問,語法是 GET https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook/names/每月還金額 這樣的

          您還可以返回多個單元格的值,比如下面的查詢 GET https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook/worksheets/抵押計算器/range(address='c4:c6')/values

    更新單元格內容

         在上一節中,我用幾種不同的語法展示了如何獲得工作簿、工作表和單元格(包括直接查詢其值)。如果我們想修改單元格的值,我們該怎么辦?以下示例展示了如何在工作表中命名為抵押計算器C4的值修改為新值,如4萬.

        需要注意的是,我們通常使用查詢數據API請求方法是GET,修改數據所需的請求方法是PATCH。為實現上述單元格修改要求,要執行的查詢是 PATCH https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook/worksheets/抵押計算器/range(address='c4&同時,#39;還需要提供新的值。

    {values:[[400000]]}PATCH該方法可以局部更新目標對象。我們只提供上述代碼Values這個屬性 ** ,但也可以添加其他屬性,以達到一次修改多個屬性的目的。

    執行成功后,你會發現C40000變成了4萬。

         我在這里埋了一個伏筆,如果你在程序中以上述方式修改了單元格(A)然后獲得另一個單元格的值(B)假設B跟A有一種公式關系,你可能期望B的值會立即刷新。但事實上,它不會。這里涉及到一些相對復雜的概念,即Excel API有兩種訪問模式。我們現在使用的是所謂的非持久會話模式。它通常用于查詢數據或修改后不保存。因此,在下一次查詢中,您實際上獲得了舊值。 關于如何創建持久會話,并在多個查詢中共享,請參考 https://developer.microsoft.com/en-us/graph/docs/api-reference/v1.0/api/workbook_createsession 詳細說明。在工作表中獲取圖表

          我們已經知道如何訪問工作簿的單元格,如何更新它們的值,這使得我們很容易實現許多業務場景:你可以Excel做很多復雜的公式,設計數據之間的關系,然后通過API修改某些單元格的值,然后獲得其他單元格的值。你的應用程序似乎很相似Excel神奇的功能,但事實上,一切仍然存在Excel默默為你服務,你所做的就是調用一兩個接口。

    接下來,我們將演示一個有趣的場景,以圖片的形式提取工作表中的圖表。這個場景特別適合我們處理數據,然后希望在前端應用程序中顯示圖表。Excel API一個圖表可以用一個圖表Base ** 以字符串的形式返回,客戶端可以使用此圖片顯示。

    其實聽起來很神秘的東西只是一件事GET請求而已 GET https://graph.microsoft.com/v1.0/me/drive/root:/testgraph/demofile.xlsx:/workbook/worksheets/charts/圖表1/i ** ge

    接口返回的結果是一串又長又長的字符串,你肯定看不懂。你要做的就是把這個字符串起來 ** 出來,然后使用文本編輯器新建文件,然后填寫以下內容

    接下來,將此保存為一個html文件,然后在瀏覽器中打開它。你認為下面的圖表似曾相識嗎?恭喜你回答對了。事實上,這個圖表以前是Excel文件中的那個。

    結語

         我在很多場合都分享過Office 365 平臺能力和開發場景,Microsoft Graph它起著關鍵作用,今天就給大家展示一下Excel API毫無疑問,現得淋漓盡致,毫無疑問,我在這里演示的只是一些皮毛,更多有趣的場景,還等著你的發現。

    推薦課程

    在線客服

    ONLINE SERVICE

    聯系電話

    186 3153 9995

    返回頂部
    主站蜘蛛池模板: 99久久综合久中文字幕| 色欲久久久天天天综合网| 婷婷色中文字幕综合在线| 一本久道久久综合狠狠躁| 婷婷久久综合九色综合九七| 亚洲综合久久夜AV | 亚洲av日韩av综合| 一本色道久久88综合亚洲精品高清| 亚洲综合网站色欲色欲| 亚洲AV日韩综合一区尤物| 久久综合丁香激情久久| segui久久综合精品| 亚洲国产精品综合福利专区| 一本综合久久国产二区| 91精品国产综合久久四虎久久无码一级 | 亚洲亚洲人成综合网络| 天天做.天天爱.天天综合网| 国产精品无码久久综合| 色天使久久综合给合久久97色| 亚洲另类激情综合偷自拍| 狠狠色狠狠色综合网| 伊人久久亚洲综合影院| 国产精品亚洲综合| 人人婷婷色综合五月第四人色阁 | 狠狠狠色丁香婷婷综合久久五月| 色欲色香天天天综合VVV| 亚洲国产综合精品中文第一| 亚洲国产精品综合久久2007| 久久综合鬼色88久久精品综合自在自线噜噜 | 国产成人精品综合| 国产成人综合亚洲一区| 亚洲熟女综合一区二区三区| 亚洲av综合av一区二区三区 | 色噜噜狠狠色综合免费视频| 婷婷久久久五月综合色| 国产精品综合一区二区| 丁香六月纪婷婷激情综合| 亚洲第一页综合图片自拍| 97久久婷婷五月综合色d啪蜜芽| 狠狠色丁香婷婷综合精品视频| 亚洲精品综合一二三区在线|