前言:最近遇到一个“明日限行”的功能,北京的交通啊,这个不在今天讨论范围内,暂不吐槽,想想代码开发,还要写WebPart部署,很麻烦,而且部署服务器,需要领导审批,想绕过这个麻烦事儿,就想到客户端了,不过我这次没有用客户端对象模型,反而采用Excel Services服务,当然只是一个小尝试,效果还算可以吧。

一、效果展示,如下图

  简单说明一下,你不需要显示下面Excel的时候,可以写下脚本隐藏,或者把WebPart最小化也可以,不一定非要展示出来。但是,作为和ECMA JavaScript脚本交互的基础,这个Excel是必须添加在页面上的。

二、配置思路

  • 配置一个受信任的文档库,用于发布使用Excel Services的Excel文档,并上传明日限行文档;
  • 在需要添加限行的页面上,添加Excel Web Access部件,并且选取我们上传的名为“TomorrowLimit.xslt”的Excel文档;
  • 在页面上添加内容编辑器部件,用来添加读取Excel Web Access部件内Excel文档的ECMA JavaScript脚本。

三、配置步骤

1、新建一个Excel,命名为“TomorrowLimit.xslt”,如下图;

2、上传到配置好信任位置[1]的文档库中,在首页添加“Excel Web Access部件”;

3、添加内容编辑器,并添加脚本,选择编辑源可以直接添加HTML代码;

4、添加好后保存,即可看到效果;

  如上图,可以将下面的“Excel Web Access部件”最小化隐藏,上面的明日限行部件,放到网站需要展示的位置即可。

四、ECMAScript(JavaScript、JScript)简介

  在 SharePoint Server 2010 中,Excel Services 添加了对 JavaScript 的支持。利用 Excel Services 中的 JavaScript 对象模型,开发人员可自动执行和自定义页面上的 Excel Web Access Web 部件控件并与之交互。

  通过使用 JavaScript 对象模型,可生成混合 Web 应用程序和其他集成解决方案,它们可与页面上一个或多个 Excel Web Access Web 部件控件进行交互。此外,还使您能够向工作簿添加更多功能并为其编写代码。

代码段

 <div id='resultdiv'></div>
<script type="text/javascript">
if (window.attachEvent)
{
window.attachEvent("onload", Page_Load);
}
else
{
window.addEventListener("DOMContentLoaded", Page_Load, false);
} function Page_Load()
{
Ewa.EwaControl.add_applicationReady(GetEwa);
} function GetEwa()
{
om =Ewa.EwaControl.getInstances().getItem();
var range = om.getActiveWorkbook().getRange("Limit", , , , );
range.getValuesAsync(, Limit, range);
} function Limit(asyncResult)
{
var values = asyncResult.getReturnValue();
var week = new Date().getDay();
var value;
switch(week)
{
case :
value = values[week + ][];
break;
case :
value = values[week + ][];
break;
case :
value = values[week + ][];
break;
case :
value = values[week + ][];
break;
case :
value = values[week + ][];
break;
default:
value = null;
break;
}
if(value == null)
{
document.getElementById('resultdiv').innerText = "明日不限号";
}
else
{
document.getElementById('resultdiv').innerText = "明日限号:" + value;
}
}
</script>

备注

  [1]信任位置:SharePoint在发布好Excel Services服务以后,设置信任位置的文档库,才可以使用Excel Services服务,设置方式可以参考参考文献第一项。

参考文献

SharePoint 2013 配置Excel Services

http://www.cnblogs.com/jianyus/p/3326304.html

Excel Services ECMAScriptJavaScriptJScript

http://msdn.microsoft.com/zh-cn/library/ee556354(v=office.14).aspx

SharePoint 2013 Excel Services ECMAScript 示例之明日限行的更多相关文章

  1. SharePoint 2013 Excel Services REST API介绍

    前言:Excel Services 中的 REST API 是 Microsoft SharePoint Server 2010 的新增项.利用 REST API,可通过 URL 直接访问工作簿部件或 ...

  2. sharepoint 2013 reporting services 远程server返回错误: (500) 内部server错误。

    在sharepoint 2013部署reporting services过程中,点击管理中心,server上的服务.系统配置.提示了一个错误: 远程server返回错误: (500) 内部server ...

  3. SharePoint 2013 企业搜索架构示例

    博客地址:http://blog.csdn.net/FoxDave 本文参考自微软官方的Chart,我们来看一下企业中对于不同规模SharePoint搜索的场的架构是什么样的. 对于搜索场的规模, ...

  4. SharePoint 2013 入门教程

    以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这个博客也是自己从SharePoint入门,到一个SharePoint开发的成长记录,里面记录的都 ...

  5. SharePoint 2013 入门教程--系列文章

    转:http://www.cnblogs.com/jianyus/p/3381415.html 以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这 ...

  6. SharePoint 2013 入门教程 [不断更新~]

    以下文章是自己在学习SharePoint的过程中,不断积累和总结的博文,现在总结一个目录,分享给大家.这个博客也是自己从SharePoint入门,到一个SharePoint开发的成长记录,里面记录的都 ...

  7. SharePoint 2013 配置Excel Services

    前言:本文主要介绍如何启用SharePoint 2013版本Excel Services服务,并配置Excel Web Access部件,使Excel文档可以显示在Web页面中. 简单说一下流程,Sh ...

  8. BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序 Excel Services中新功能

    BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第14章节--使用Office Services开发应用程序  Excel Services中新功能         从S ...

  9. 在SharePoint 2013里配置Excel Services

    配置步骤,请参看下面两篇文章 http://www.cnblogs.com/jianyus/p/3326304.html https://technet.microsoft.com/zh-cn/lib ...

随机推荐

  1. Python标准模块--collections

    1.模块简介 collections包含了一些特殊的容器,针对Python内置的容器,例如list.dict.set和tuple,提供了另一种选择: namedtuple,可以创建包含名称的tuple ...

  2. Description Resource Path Location Type Error executing aapt: Return code -1073741819 Client line 1

    Logcat报错:Description    Resource    Path    Location Type Error executing aapt: Return code -1073741 ...

  3. 效率和协作工具--OneNote

    身边有很多的朋友,都是在电脑上办公.除了会计和外贸相关的工作,用到Excel,公司的ERP比较多.日常工作中,特别是事情一多,大家基本不知道从何处完成今天的任务,而已有时经常丢三落四.同事在QQ或者M ...

  4. MyCAT ER分片的验证

    在这里,构造了两张表,熟悉Oracle的童鞋都知道,dept(部门表)和emp(员工表),其中dept中的deptno是emp表中dept_no的外键. 两表的建表语句如下: create table ...

  5. input(file)按钮美化

    <!DOCTYPE HTML> <html> <body> <input type="file" id="upload" ...

  6. Java多线程系列目录(共43篇)

    最近,在研究Java多线程的内容目录,将其内容逐步整理并发布. (一) 基础篇 01. Java多线程系列--“基础篇”01之 基本概念 02. Java多线程系列--“基础篇”02之 常用的实现多线 ...

  7. Android 数据库框架OrmLite的使用(一)

    在这里记录下最基本的用法,官网上可了解相关的介绍. 1.下载OrmLite jar 在下载android的:ormlite-android-4.48.jar和ormlite-core-4.48.jar ...

  8. TreeView控件使用

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:  TreeNode tmp; tmp = n ...

  9. Compensating Transaction Pattern(事务修正模式)

    Undo the work performed by a series of steps, which together define an eventually consistent operati ...

  10. Game中的状态机

    我相信大多数博友都会玩游戏. 玩游戏,牵涉到状态包含 登陆,正常,死亡,复活,下线, 在上面状态的基础上.同时包含 站立,走动,跑动,不可移动施法状态, 战斗状态, 通常这是三个不同的分组.也就说可以 ...