在线操作编辑word文档已经是时下ERP和OA系统必须要实现的功能点之一。
下面就来详细讲解一下weboffice是如何实现的。 这里只做简单的程序讲解,原理性的东西不做过分的赘述。
不管你是ajax 还是jsp 最好都使用 绝对路径,相对路径会出问题
1 发布项目,其他使用者可以直接在本文的附件中下载demo,此demo不做数据库要求,如果你希望使用access数据库,可以自己设置本地odbc数据源,不设置数据源也可以直接运行,默认直接操作word物理文件。
2 运行项目
将web容器(jboss/tomcat) 运行只来之后,直接访问 http://localhost/webofficeDemo/
将跳转到 默认主页。鉴于weboffice插件特性 只能在IE或者360浏览器上运行,安装其要求的插件。
3 创建新文档 直接触发weboffice控件创建空白文档。
4 编辑已有文档。
document.all.WebOffice1.LoadOriginalFile("../getfile.jsp?filename=f:\aaa.doc","doc");
直接调用控件函数 LoadOriginalFile ,指定文档服务器路径,即可打开服务器文档。
5 编辑并保存 文档。
触发 函数 SaveFileDoc('f:\aaa22.doc','doc');
weboffice 会触发一系列函数进行服务器保存操作,主要代码如下
var webObj=document.getElementById("WebOffice1");
webObj.HttpInit();//初始化Http引擎
// 添加相应的Post元素
webObj.HttpAddPostString("fname", fname);
webObj.HttpAddPostCurrFile("DocContent","");// 上传文件
returnValue = webObj.HttpPost("../savefiledoc.jsp");// 判断上传是否成功
其他文本操作 大致类似。
详细代码 见附件
weboffice 兼容IE内核浏览器,以 IE、360急速、遨游浏览器为典型,通过更详细配置可在火狐 谷歌等浏览器通用 但是 比较麻烦。 系统选装office 如 word软件, 如果出现不能 显示空间的情况 既是weboffice_v6.0.5.0.cab 不能正常加载,设置其绝对路径即可。 需要清除缓存。