如题,javaweb程序,需要检测客户端有没有安装word,就是客户端使用excal导出的时候,需要先检测一下
https://wenku.baidu.com/view/d6f98dd7a32d7375a51780bc.html
直接检测不了,需要用c++一个activex,可以读取注册表或者根据文件关联判断。你的js去调用这个activex
自动更新classid= E77E049B-23FC-4DB8-B756-60529A35FAD5的COM组件, 更新地址为/weboffice/WebOffice.ocx,codebase后的路径为相对路径也可为绝对路径,要更新的最新版本为6.0.4.4。此时,IE会自动访问注册表,如果发现当前机器未安装或者当前版本低于6.0.4.4,就会自动下载。
至于openFile.aspx.cs的代码就更简单,主要是实现fid的数值绑定,当然也可以在前面用js脚本直接取fid。[html] view plaincopypublic string fid = "1"; protected void Page_Load(object sender, EventArgs e) { fid = Request["fid"].ToString(); Page.DataBind(); }
这样就能在线打开word文件。
最后顺便提一下WebOffice工作原理,所谓的在线打开word文档,其实WebOffice是先把要打开的文件下载回本机的临时目录,再调用本地机器上的office来打开,也就是说如果机器上没有Office的话,那么WebOffice也是无能为力的。
另外每台客户端机器第一次打开文件时都要下载那个WebOffice.ocx回本地C:\WINDOWS\system32目录,所以浏览器必须允许阻止的内容被打开,这样系统才会自动下载安装weboffice控件。
打开失败做提示就好了。
直接检测肯定没法做,但是你可以导出,让用户自己安装,或者你给用户提示怎么安装,
另外一种办法是让用户在线预览word