Weboffice集成:支持word、excel、ppt文档的在线编辑、保存等操作,和苍穹实现无缝对接。
为什么去集成
日常工作中存在很多需要进行office文档交互的场景,如在实际合同签订过程中需要对合同来回沟通、修订。目前通过附件形式的沟通多有不便,如若能够在平台提供一个通用控件可以直观显示、编辑和实时交互,则能够极大的提升用户的工作效率。无疑,在线共享协同将是今后在线办公主流趋势,减少了很多繁琐低效的工作,为了适应市场需求,苍穹平台集成了WebOffice去解决这一问题。
视觉展示
如何交互
WebOffice 通过后台指令与前端进行交互如打开、新增、比较、保存等操作。 WebOffice 基于指令,前后端分离与实际实现无关。后续需要替换为其他插件只需前端调整对应指令实现方式即可。 WebOffice 保存使用通用文件上传功能,后台不记录相关的保存记录,历史记录与新文档保存上传后会触发 WebOffice 的相关监听器,数据保存由业务方自行实现。
简单例子入门WebOffice使用
- 打开word文档
Java |
|
//这里的url可以是通过上传附件后获取到的url,也可以是本地文档url String url ="D://test.docx"; //获取控件 WebOffice webOffice = getControl("webofficeap"); //调用open方法传入url webOffice.open(url);
| |
|
- 文档保存
WebOffice保存需要对控件进行上传事件监听,在这里调用save方法之后会触发afterupload事件,在afterupload方法中可以对临时文件进行服务器的上传。
Java |
|
public class WebOfficeSample extends AbstractFormPlugin implements UploadListener { …… //点击事件触发该方法,调用WebOffice的save方法,出发上传事件 private void save() { //获取控件 WebOffice webOffice = getControl("webofficeap"); String name = (String)this.getModel().getValue("name"); //调用save方法传入文件名 webOffice.save(name); } @Override public void afterUpload(UploadEvent event) { //对临时文件进行处理,上传至文件服务器,文件路径包含中文需要进行编码 } //注册事件监听 @Override public void registerListener(EventObject e) { WebOffice webOffice = getControl("webofficeap"); webOffice.addUploadListener(this); }
} | |
|
温馨提示
WebOffice控件只支持在IE直接打开,在其他浏览器例如Chrome或者Firefox打开需要借助智能窗打开,否则打开无法显示控件,此时需要借助浏览器帮助类WebOfficeBrowserHelper进行打开,具体使用可前往社区或者开发者生态平台查看。