Office中国论坛/Access中国论坛

标题: 谁弄过Excel在线编辑方面的东西(B/S)? [打印本页]

作者: todaynew    时间: 2015-11-13 11:27
标题: 谁弄过Excel在线编辑方面的东西(B/S)?
本帖最后由 todaynew 于 2015-11-13 16:55 编辑

  最近用MVC3+OWC11写了一个在线的Excel报表系统,虽已完成开发,但觉得还是不太理想。主要原因在于客户端必须安装Office2003(完整安装就包含有OWC11组件)。但现在Office版本已经到了2015版,实际运用中2007、2010版比较多,而OWC11似乎只能支持2003版。虽然装多个版本的Office也可解决问题,但对用户来说增加了一些麻烦。就此问题,这两天在网上查询了一些相关资料。发现2010版以后微软在做Office的在线功能,好像有多个方面的技术,但简单完整的资料很难找到。不知道是否有同志弄过Office Web Apps(Office Online)这方面的东西,想请教一些入门知识。主要就是解决嵌入Excel,并在线编辑回传服务器,减少对客户端Office版本的依赖。

作者: tmtony    时间: 2015-11-13 11:37
1.可能要用office365
2.要像其它第三方一样,使用自己的HTML5来写
3.使用一些专用的OA插件。这个第三方有提供
作者: roych    时间: 2015-11-13 12:18
本帖最后由 roych 于 2015-11-13 12:24 编辑

Access方面,如果要使用Access网页应用程序,大约是要先注册一个Office 365账号【用于登录,试用账号是30天,所以我也没有兴趣继续下去了】。用户交互部分可以使用Access的数据宏跟操作宏来完成。VBA?对不起……没有了。倒是可以建议学点JavaScript和C#。顺便说一句,内置函数有所变化,例如Mid之类好像是没有了,用substring吧。

如果使用SharePoint……2013版本,好像是没有直接的SharePoint workflow了,不过按网上的介绍,大约是需要安装SharePoint server 2013,然后部署IIS,再以Visual Studio来开发。

要是觉得麻烦的话,不妨试试用jQuery插件来实现。例如,jqGrid和ParamQuery做出来的效果倒是很像Excel表格……当然,如果需要图表,还是应该考虑加入jqchart之类的图表插件了。——个人比较倾向于这种做法。不过,静态网页下这个玩法应该比较麻烦,估计需要在JSON和数组(或者记录集)之间切换。PHP、ASP.Net之类则表示毫无压力。

最后一点是,我觉得老汉您已经掉进微软的大坑里了。{:soso_e120:}{:soso_e120:}{:soso_e120:}
作者: ganlinlao    时间: 2015-11-13 13:23
本帖最后由 ganlinlao 于 2015-11-13 13:25 编辑

1、首先不建议使用owc11,因为它真的好烂。
2、就当前而言,最好用插件。首推dsoframer2.3.0.2(这是最新版)我的邪门武器之一,里面有提供了这个dsoframer。
但你要自己作数字签名并打包cab,方便ie自载下载并安装(如果你有微软认证机构签名的,最好分享一下你的cab哦,这一般人搞不到的)
3、dsoframer对于chrome和firefox都同样可用,具体你最好百度一下chrome和firefox如何使用ActiveX(不是使用IE内核哦)
4、Dsoframer对于office的任何版本都适用,而且都一致(2003-2016)都没有任何问题,而且也适用wps。
5、你也可使用sharepoint.opendocuments方法(任何一版office都有安装,具体的就是owssup.dll),但如果要回传到服务器,则iis必须配置WebDav,才能传回服务器。一般人是做不到有那个权限去配置服务器IIS的Webdav,所以得斟酌一下。
作者: todaynew    时间: 2015-11-13 14:12
roych 发表于 2015-11-13 12:18
Access方面,如果要使用Access网页应用程序,大约是要先注册一个Office 365账号【用于登录,试用账号是30天 ...

用jQuery插件处理过,解决单元格计算太麻烦。
作者: zpy2    时间: 2015-11-13 14:18
我是用服务器端用owd的ExportPicture输出到图片。

http://shanghaizpy.mvip8.xyz/asp/chart2.aspx
[attach]57463[/attach]

还有,就是 文件共享
[attach]57464[/attach]

还有,就是,网页了,或xmlhttp
sharepoint 没有用过,
作者: todaynew    时间: 2015-11-13 14:19
ganlinlao 发表于 2015-11-13 13:23
1、首先不建议使用owc11,因为它真的好烂。
2、就当前而言,最好用插件。首推dsoframer2.3.0.2(这是最新 ...

我还在犹豫是采用Dsoframer还是sharepoint。这两个东西都找了一些网页看了看,还不是太明白。
其实我只是需要在客户端用到Excel的单元格计算公式的功能,以及能遍历单元格数据就行了。回传服务器用Ajax传递json数据。
如果方便的话,你给我讲讲Dsoframer的这方面的处理方法,最好搞一个简单的示例。另外是否可以上传一个最新版的Dsoframer给我。谢谢。
作者: todaynew    时间: 2015-11-13 14:23
zpy2 发表于 2015-11-13 14:18
我是用服务器端用owd的ExportPicture输出到图片。

http://shanghaizpy.mvip8.xyz/asp/chart2.aspx

不是传输图片。我需要的是在浏览器中编辑一个报表(用一个Excel模版),然后提取其中的单元格数据,做成json回传到数据库。
作者: todaynew    时间: 2015-11-13 14:23
tmtony 发表于 2015-11-13 11:37
1.可能要用office365
2.要像其它第三方一样,使用自己的HTML5来写
3.使用一些专用的OA插件。这个第三方有 ...

OA插件都收费,呵呵。
作者: zpy2    时间: 2015-11-13 14:28
浏览器中编辑一个报表(用一个Excel模版),除非,要服务器交互,用 ajax或vba,我一般,就文件上传,下载就行了,特别是手机,xls用 wps也可以在手机上编辑,如果,一定在PC上,BS不如,还是cs好。
作者: zpy2    时间: 2015-11-13 14:30
上传之后,在服务器端处理,也可以。msdn以前,有个报销的asp例子就是这样的,上传xls表,服务器自动读取,存入数据库
作者: todaynew    时间: 2015-11-13 16:44
本帖最后由 todaynew 于 2015-11-13 16:54 编辑
zpy2 发表于 2015-11-13 14:30
上传之后,在服务器端处理,也可以。msdn以前,有个报销的asp例子就是这样的,上传xls表,服务器自动读取, ...

上传文件很简单,问题在于客户端的用户喜欢瞎折腾,很难判断他传什么东西上去。另外我不想在web服务器中打开excel表(由于excel表模版不是按照数据表的格式设计的,也没法直接用SQL直接读取)。所以这个处理思路我没有采用。

我的处理思路是从服务器传一个Excel模版到浏览器,然后将数据库的数据写入浏览器中的Excel表中。同时可以从浏览器嵌入的Excel表中编辑数据,将编辑妥当的数据,通过js处理成json格式回传数据库。这个处理方法可以强制用户必须按照Excel表模版来处理数据。
所以,这个处理思路的要点有两个:其一是必须有一种方法将保存在web服务器中的Excel表模版(或者是保存在数据库中的Excel表模版)渲染到浏览器,其二是能在浏览器用js遍历Excel表以得到json数据。

其实还有一个折中的方法,是从服务器下载Excel表到本地,通过js遍历填写好的Excel表(不是内嵌浏览器,而是存在本地的Excel表)。这种方法对于用户来说也比较啰嗦,我也不考虑。


也就是说,我坚持的是实现Excel嵌入浏览器的方案。实现这个方案目前有很多种处理方案,我已经实现了用OWC的方案,只是觉得对版本的依赖性太强了。想找一种更为简单通用的方法。


作者: roych    时间: 2015-11-14 09:24
todaynew 发表于 2015-11-13 14:12
用jQuery插件处理过,解决单元格计算太麻烦。

如果涉及普通的整列求和计数,最值什么的,推荐使用相对强大的DataTables。不过对列求和可能就麻烦些。表头(TableHeader)和表脚(TableFooter)都可以自行处理,可以设置相对复杂些的格式。
当然,这也就意味着,掌握它的API需要花更多的时间。
唯一的问题是,它不是那么像Excel风格。
作者: xtitking    时间: 2015-11-18 08:12
本帖最后由 xtitking 于 2015-11-18 08:15 编辑

其实你可以将owc11中的owc11.dll 提出来复制到系统中, 注册一下就可以了,在office2007中测试通过没问题.
作者: todaynew    时间: 2015-11-22 19:37
本帖最后由 todaynew 于 2015-11-22 19:40 编辑

找到了一个JQuery仿Excel插件,免费的。
Jquery.sheet官网地址:https://github.com/Spreadsheets/jQuery.sheet/releases
Jquery.sheet 3.1官网下载地址:https://github.com/Spreadsheets/jQuery.sheet/archive/3.1-rc-5.zip

不知道为什么IE浏览器不能访问以上地址,360极速可以访问。
上传一下jquery.sheet3.1:[attach]57496[/attach]





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3