前言:最近遇到一個「明日限行」的功能,北京的交通啊,這個不在今天討論範圍內,暫不吐槽,想一想代碼開發,還要寫WebPart部署,很麻煩,並且部署服務器,須要領導審批,想繞過這個麻煩事兒,就想到客戶端了,不過我此次沒有用客戶端對象模型,反而採用Excel Services服務,固然只是一個小嚐試,效果還算能夠吧。javascript
1、效果展現,以下圖html
簡單說明一下,你不須要顯示下面Excel的時候,能夠寫下腳本隱藏,或者把WebPart最小化也能夠,不必定非要展現出來。可是,做爲和ECMA JavaScript腳本交互的基礎,這個Excel是必須添加在頁面上的。java
2、配置思路服務器
3、配置步驟app
一、新建一個Excel,命名爲「TomorrowLimit.xslt」,以下圖;async
二、上傳到配置好信任位置[1]的文檔庫中,在首頁添加「Excel Web Access部件」;編輯器
三、添加內容編輯器,並添加腳本,選擇編輯源能夠直接添加HTML代碼;ide
四、添加好後保存,便可看到效果;網站
如上圖,能夠將下面的「Excel Web Access部件」最小化隱藏,上面的明日限行部件,放到網站須要展現的位置便可。spa
4、ECMAScript(JavaScript、JScript)簡介
在 SharePoint Server 2010 中,Excel Services 添加了對 JavaScript 的支持。利用 Excel Services 中的 JavaScript 對象模型,開發人員可自動執行和自定義頁面上的 Excel Web Access Web 部件控件並與之交互。
經過使用 JavaScript 對象模型,可生成混合 Web 應用程序和其餘集成解決方案,它們可與頁面上一個或多個 Excel Web Access Web 部件控件進行交互。此外,還使您可以向工做簿添加更多功能併爲其編寫代碼。
代碼段
1 <div id='resultdiv'></div> 2 <script type="text/javascript"> 3 if (window.attachEvent) 4 { 5 window.attachEvent("onload", Page_Load); 6 } 7 else 8 { 9 window.addEventListener("DOMContentLoaded", Page_Load, false); 10 } 11 12 function Page_Load() 13 { 14 Ewa.EwaControl.add_applicationReady(GetEwa); 15 } 16 17 function GetEwa() 18 { 19 om =Ewa.EwaControl.getInstances().getItem(0); 20 var range = om.getActiveWorkbook().getRange("Limit", 0, 0, 6, 2); 21 range.getValuesAsync(0, Limit, range); 22 } 23 24 function Limit(asyncResult) 25 { 26 var values = asyncResult.getReturnValue(); 27 var week = new Date().getDay(); 28 var value; 29 switch(week) 30 { 31 case 0: 32 value = values[week + 1][1]; 33 break; 34 case 1: 35 value = values[week + 1][1]; 36 break; 37 case 2: 38 value = values[week + 1][1]; 39 break; 40 case 3: 41 value = values[week + 1][1]; 42 break; 43 case 4: 44 value = values[week + 1][1]; 45 break; 46 default: 47 value = null; 48 break; 49 } 50 if(value == null) 51 { 52 document.getElementById('resultdiv').innerText = "明日不限號"; 53 } 54 else 55 { 56 document.getElementById('resultdiv').innerText = "明日限號:" + value; 57 } 58 } 59 </script>
備註
[1]信任位置:SharePoint在發佈好Excel Services服務之後,設置信任位置的文檔庫,纔可使用Excel Services服務,設置方式能夠參考參考文獻第一項。
參考文獻
SharePoint 2013 配置Excel Services
http://www.cnblogs.com/jianyus/p/3326304.html
Excel Services ECMAScript(JavaScript、JScript)
http://msdn.microsoft.com/zh-cn/library/ee556354(v=office.14).aspx