经常会遇到有类似表单协作的应用,主要场景可以归结为:
1 表单需要多个人来分别填写
2 每个人填写表单的不同部分,而且不能互相填写
3 填写的时候有可能多个人同时在编辑
这样的需求中使用Excel可以很方便地来实现,方式如下:
首先,第一问题很容易解决,我们可以把Excel放到一个共享文件夹或者SharePoint的一个文档库里(这两种方式对于同时编辑的支持有所不同);
其次,每个人填写Excel的不同部分,而且不能填写和自己无关的部分,这个功能可以使用Excel中的“保护工作表”以及“允许用户编辑区域”来设定:
功能一:保护工作表:
在Ribbon的“审阅”选项卡中(这些功能在Excel 2007和2010中都可以实现,2003未经验证),有一个“保护工作表”,如下:
该功能可以将当前工作表锁定,不允许用户进行编辑(当然也可以用下面的那个按钮来保护整个工作簿),点击后会d出下面这个对话框,输入一个密码,当用户需要解除保护的时候,需要输入这个密码:
功能二:开放允许用户编辑的部分:
这部分 *** 作需要在保护工作表之前完成,因为在保护之后就不允许对其进行修改了。
Step 1:点击同一个Ribbon标签中的“允许用户编辑区域”,会d出下面这个对话框:
Step 2:这个对话框中会列出所有在保护工作表的时候,可以由用户来填写的部分,点击“新建”,创建一个新的区域:
Step 3:为区域加一个标题,然后选中需要由某个用户编辑的单元格,接下来的这个部分则是为单元格设置权限的重点:
Step 4:在“区域密码”中,输入一个密码,这个密码的含义是说:如果用户需要编辑这个单元格,则需要先输入这个密码才可以。那你要说,那岂不是还要告诉每个用户这个密码么?不用,我们可以点击“权限”,然后选择允许编辑这个区域的用户,然后选择“无需密码的编辑区域”(默认就是选中的),如下图:
在经过这样的设置之后,当Manager这个账号打开这个Excel的时候,就可以不用输入密码而编辑这个区域;而当其他用户打开这个Excel的时候,如果也想要编辑这个区域,就需要正确的密码才可以了,其他用户在这些单元格中试图输入的时候会出现下面这个提示:
通过重复进行Step 2 ~ Step 4的 *** 作,就可以给不同的用户设置不同的编辑区域了。
功能三:多人同时编辑Excel:
Excel其实在很早的时候就可以支持多人同时编辑同一个文件这样的应用场景,但是这要根据我们会把Excel放到什么位置进行共享。
情景 1:如果Excel是在网络的共享文件夹中,则可以实现真正的多人同时编辑。
点击同样Ribbon中的“共享工作簿”,d出下面这个对话框:
选择“允许多用户同时编辑”,之后,在“高级”标签中还可以选择修改的记录等更加复杂的设置。
在这样设置之后,就可以进行同时编辑了。在编辑的过程中,如果用户正在一个单元格中输入,则系统会将其他用户的Excel中的这个单元格临时锁定,用户编辑完之后提交保存的时候,会首先检测其他用户是否已经提交过他们自己的保存,并把其他用户保存的内容更新进来(注意只有在保存的时候会更新其他用户保存的内容,以便控制服务器流量),如下图所示:
其他用户更新的内容会使用红色边框标记出来。
TIP:在SharePoint 2010 + Word 2010的配合中,可以实现Word文档的多人同时编辑,其 *** 作方式也是类似的,不过是按照段落为单位进行锁定。
情景 2:Excel保存在SharePoint中。
如果Excel是保存在SharePoint 2010企业版中,当网站开启了Excel Service的时候,就可以在浏览器中进行多人同时编辑(不过功能二的设定貌似不支持Excel Service)。
如果是保存在SharePoint 2007中时,是不支持多人同时编辑同一个Excel文档的,不过会有通知提醒,例如一个用户打开并编辑一个在文档库中的Excel之后、未关闭之前的时候,另一个用户也打开同一个Excel文档并进行编辑的时候,会d出如下的提示:
这里会提醒我们这个Excel文件正在由其他人进行编辑,我们可以选择“只读”仅查看Excel的内容,或者选择“取消”不打开该文档,或者,选择“通知”进行自动通知。
当这个用户选择了“通知”之后,可以如往常一样进行内容的查看(也可以进行编辑),而当第一个用户编辑完成、保存、关闭了Excel文档之后,这个新用户的Excel中就会自动d出这样一个通知:
选择“读-写”之后,会把整个文档的内容更新为最新的版本(在这个期间内,这个新用户所进行的所有修改都会丢失),如下图所示:
通过这种方式,可以实现“非同时”的Excel协作编写了。
方式:
1把网页中的表格插入到excel中并定时更新的方法很简单,首先打开一个空白的excel表格。
2在excel中选择数据-自网站。
3在excel新建web查询中粘贴带有表格的网址,然后点击转到。
4点击表格左上角的符号会自动选中表格,然后点击导入。
5在excel导入数据中我们点击选择属性。
6在外部数据区域属性中我们可以对excel数据刷新进行设置。
7点击确定后返回到导入数据窗口再次点击确定,等几秒钟就网页中的表格就插入到excel中了。
Microsoft Excel:是微软公司的办公软件Microsoft office的组件之一,是由Microsoft为Windows和Apple Macintosh *** 作系统的电脑而编写和运行的一款试算表软件。Excel 是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策 *** 作,广泛地应用于管理、统计财经、金融等众多领域。
我跟你也有类似的需求,想要做一个系统,用户需要在系统上在线去上传编辑Excel,页面上能够有一个像Excel这样矩阵的表格可以在系统里面填报编辑,最后还需要将用户编辑的内容收录到数据库中进行存储。在网页搜索搜到了这个问题,也看了下面的回答,虽然都是些商业的推广,但我也认真的看了,这里做一个客观的总结,也可以给后面跟我有类似问题的用户一个参考:
Zoho Docs:
知道上面一搜全是他们的回答, 但是百度上根本找不到官方网站,百度经验里我看到了一张,里面的官方网站跟上面能够搜索到的都不一致(从一个客户角度首先对于这样网站上都搜不到官网的产品我是充满了不信任的),之后好不容易找到了官网,然后试用了产品,发现其所说的嵌入网页只是一个iframe的地址
这样首先模板无法在系统中定制,只能到他们的网站上去做,再一个如果是内网系统(没有外网的情况下),经无法运行。如果有一定保密要求的项目根本不可能考虑这种要将信息放在第三方平台上的解决方案。
雷鸟365 :
这个是一个带有协同编辑的在线文档成品,功能比上面Zoho Docs要多很多,但是跟题主的需求不太符合,其实我们想要的是如何在我们的系统中去实现这样的功能,而不是给我一个成品去用。不过我也看了一下你们的产品,还是蛮用心去做的,如果方便能够告知你们使用的什么技术来实现的,不胜感激。
SpreadJS 纯前端表格控件:
这个才是真正符合我需求的东西,他们标榜自身是一款控件,开始看的时候我是不太明白控件是什么意思的,于是之后我百度了一下,了解了一下控件的概念,才知道这个应该就是我要找的内容,他们有一个在线表格编辑器的东西:
这个看上去跟Excel外观一模一样,而且据他们客服说这个可以直接嵌入到系统并且还能在上面做二次开发,只要能将上面的表格嵌入到我的系统页面中就已经满足我的需求了,接下来我准备再测试评估一下功能与性能。
PS:
3楼的回答为什么不能详尽一些呢,明明3楼才是题主或者跟题主有着同样问题的解决方案,但是3楼说的这么少,就不能像1楼那样多说一些吗?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)