控制用户打开excel文件后只能查看和编辑指定的Sheet页
2010-10-15 11:45
337 查看
系统如何控制用户打开excel文件后只能查看和编辑指定的Sheet页
代码下载:http://ishare.iask.sina.com.cn/f/10323532.html
这个问题肯定不是只有我一个人遇到了,不过有这么一个方法一起研究一下。当然要看你们用的是不是soaoffice了,公司项目里用的是这个产品,可以支持js在客户端调用vba接口来控制网页中Excel的表现。方法很简单,关键是下面的这个function,循环隐藏不需要显示的Sheet页,Sheet在VBA中是有Visible属性的:
function onlyShow(sheetName)
{
var obj = document.getElementById("SOAOfficeCtrl").Document;
for(var i=1; i <= obj.Application.Sheets.Count;i++)
{
if (obj.Application.Sheets(i).Name != sheetName)
{
obj.Application.Sheets(i).Visible = false;
}
obj.Application.Sheets(sheetName).Select();
}
}
比方说要在打开文件的时候只显示Sheet1,那么就在soaoffice的OnDocumentOpened事件中添加一句代码:onlyShow(“Sheet1”);
代码如上,这样保证你打开的Excel文件只显示Sheet1(当然打开的Excel中要有Sheet1存在才行),不同用户登录后变量怎么设置的细节不说了,看代码吧。可能有高人一下就看出问题了,说可以手动设置Excel再把其他的Sheet显示出来。Exactly!有对策,webOpen打开文件的时候第二个参数使用:1就OK啦!
怎么又不能编辑了?有办法!创建SOAOfficeX.ExcelResponse对象,设置setAllUsedRangeNeedSubmit(true),就可以编辑了,大概代码如下,这个demo就不改了,I’m soooo tired,it’s time to go to bed. Do it yourself, you can make it.
SOAOfficeX.ExcelResponse SOAExcel = new SOAOfficeX.ExcelResponse();
SOAExcel .openSheet(“Sheet1”). setAllUsedRangeNeedSubmit(true);
……
SOACtrl.assign(SOAExcel);
……
代码下载:http://ishare.iask.sina.com.cn/f/10323532.html
这个问题肯定不是只有我一个人遇到了,不过有这么一个方法一起研究一下。当然要看你们用的是不是soaoffice了,公司项目里用的是这个产品,可以支持js在客户端调用vba接口来控制网页中Excel的表现。方法很简单,关键是下面的这个function,循环隐藏不需要显示的Sheet页,Sheet在VBA中是有Visible属性的:
function onlyShow(sheetName)
{
var obj = document.getElementById("SOAOfficeCtrl").Document;
for(var i=1; i <= obj.Application.Sheets.Count;i++)
{
if (obj.Application.Sheets(i).Name != sheetName)
{
obj.Application.Sheets(i).Visible = false;
}
obj.Application.Sheets(sheetName).Select();
}
}
比方说要在打开文件的时候只显示Sheet1,那么就在soaoffice的OnDocumentOpened事件中添加一句代码:onlyShow(“Sheet1”);
代码如上,这样保证你打开的Excel文件只显示Sheet1(当然打开的Excel中要有Sheet1存在才行),不同用户登录后变量怎么设置的细节不说了,看代码吧。可能有高人一下就看出问题了,说可以手动设置Excel再把其他的Sheet显示出来。Exactly!有对策,webOpen打开文件的时候第二个参数使用:1就OK啦!
怎么又不能编辑了?有办法!创建SOAOfficeX.ExcelResponse对象,设置setAllUsedRangeNeedSubmit(true),就可以编辑了,大概代码如下,这个demo就不改了,I’m soooo tired,it’s time to go to bed. Do it yourself, you can make it.
SOAOfficeX.ExcelResponse SOAExcel = new SOAOfficeX.ExcelResponse();
SOAExcel .openSheet(“Sheet1”). setAllUsedRangeNeedSubmit(true);
……
SOACtrl.assign(SOAExcel);
……
相关文章推荐
- 使用Win8自带的增强控制功能让用户只能打开指定网站/应用/游戏
- Excel文件无法导入,错误: 它已经被别的用户以独占方式打开,或没有查看数据的权限。
- Microsoft Jet 数据库引擎打不开文件'(未知的)'。 它已经被别的用户以独占方式打开,或没有查看数据的权限
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- 限制php本地文件只能在指定目录打开的open_basedir配置
- 修复打开Excel提示,“您尝试打开的文件的格式与文件扩展名指定的格式不一致,打开前请验证文件示被损坏且来源可信,是否立即打开该文件?”
- Office 2010 中打开多个Excel文件只能在同一窗口中显示的问题
- .创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个
- Sql Server:创建用户并指定该用户只能看指定的视图,除此之外的都不让查看。
- C#修改文件或文件夹的权限,为指定用户、用户组添加完全控制权限
- 用VBA生成的EXCEL,打开报如下错误:您尝试打开的文件"1.xls"的格式与文件拓展名指定的格式不一致。。。。
- Microsoft Jet 数据库引擎打不开文件'……/App_Data/data.mdb'。 它已经被别的用户以独占方式打开,或没有查看数据的权限。
- 生成了一个txt文件,如何用记事本和EXCEL 打开它给用户看?
- Microsoft Jet 数据库引擎打不开文件,它已经被别的用户以独占方式打开,或没有查看数据的权限。
- ASP.NET导出Excel打开时提示:与文件扩展名指定文件不一致解决方法
- 每天进步一点点- lsof 命令查找指定用户、进程、端口打开的文件
- lesson7:GUI:创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”
- 窗口作业1 作业: 1.创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存
- (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法