利用zOffice SDK实现合同续签系统

通过zOffice SDK实现灵活的数据统计 zOffice提供云端Office能力,包括word、excel、ppt三类办公文档的在线协同编辑,通过专业级的文档能力,高效的协作体验,内容级的安全管控,丰富的集成开发接口,来赋能企业的业务系统,帮助业务系统实现文档在线预览和编辑,文档操作过程全部线上进行,完成在线办公的场景闭环。zOfficeSDK是针对zOffice在线文档而开发的函数库,可以让我们对在线文档进行一些实用的操作。 阅读详情

经过用户调研和实际考察发现。商务、政务和个人的真实使用场景中,很多用户会有通过“用户数据”+“固定模板”生成“批量合同(文件)”的需求,并且存在着使用痛点。在在线办公不断发展的今天,我们需要一个在线编辑的工具可以批量完成这样的工作,帮助我们提升工作效率,并保证正确性。

一、zOffice简介

zOffice是一款自主研发的在线编辑套件。套件里有Word、Excel、PPT和在线预览四个产品,支持多种Office/WPS的文档格式。拥有丰富的API和SDK,可以集成到各种业务系统中。作为在线文档编辑服务,zOffice提供丰富的API,可以实现对Excel,Word等文档的内容操作。

官网链接:https://www.filez.com/zoffice

集成介绍文档:http:// https://lenovocloud.zbox.filez.com/l/a0OsO0

二、场景描述

小张是一位市场总监助理,每周都要有几十份续签合同需要拟制。她需要将excel里的客户信息一个一个复制粘贴进word,进行保存。做一份需要3 - 5分钟,全部做完可能要2个小时。机械重复的工作让小张苦不堪言,希望能够有一个工具帮助他快速完成机械性的工作。

三、解决步骤

通过"合同模板"和"客户数据"两个文件, 通过zOffice的API即可实现工作效率的提升

第一步:实现一个简单的集成界面:

第二步:通过点击数据源可以打开客户数据的表格(此表格保存在一个excel文件中)

此步是通过发送RESTAPI到zOffice服务端,通过上传excel文件,可通过文件id和获取表格数据的API实现浏览表格内容条目,具体实现如下:

1、获取表格应用对象

要获取表格里面的数据,首先要获取表格应用对象

var application

在挂在了在线表格后,通过在javascript中定义application即可获取表格对象,此部分是SDK内置的函数对此变量进行了赋值

2、获取当前正在编辑的sheet表格

var sheet = await application.ActiveWorkbook.getActiveSheet();

这样我们就获取到了当前正在编辑的sheet表格,这里先获取到了application的ActiveWorkbook,也就是当前表格文件,然后调用了getActiveSheet()方法来获取sheet表格对象。

window.onload = async function() {

   const app = await ZOfficeSDK.mount('http://<ip>/docs/app/<repoid>/<docid>/edit/content', '#doc1');

     const sheets = await app.getSheets();

}

3、获取框选的需要统计的范围

const activeSheet = await app.getActiveSheet();

const range = activeSheet.getRange(1, 1, 5, 5);

通过调用sheet对象的getActiveRange()对象,我们就获取到了要统计的区域这个对象。之后就是将获取这个对象里每个单元格的值,这样我们就能进行统计逻辑的代码编写了。
//这四个变量是整个要统计区域的起始行,起始列,结束行,结束列

  var beginRow = range.row;
  var endRow = range.endRow;
  var beginColumn = range.column;
  var endColumn = range.endColumn;

//这个是将range对象转化为二维数组,方便进行每个单元格里值的获取

var valuesArray = await range.getValues();

通过getValues()的方式我们就能获取到要统计的范围里每个单元格的值。这样我们就能进行整个统计逻辑的构建,后面就是通过html,css,javascript完成整个逻辑并且将结果展示在结果展示区。

第三步:打开合同模版

此模版中包含一些需要动态修改内容的区域,如甲方名称,合同日期等,此部分内容通过标签标识

第四步:点击开始生成,即可通过调用zOffice提供的API接口逐一将表格中的信息替换到合同模版中,并生成相应的成品合同保存在系统中

此部分的示例代码如下:

 async replaceBookmarkFileds(items) {

    if (!items     items.length == 0)

      return;

    for(var it of items) {

      if (it.val && it.val != "") {

        await this.replaceBookmarkText(it.key, it.val);

      }

    }

  },

  async replaceBookmarkText(key, val) {

    var app = await this.getDocumentApp(this.selectorTemplate);

    var bm = await app.getBookmark(key);

    await bm.setText(val);

  },

其中,key是书签的名称,此名称可以和excel中客户信息的列名对应,方便我们操作对应的内容区域,val是此书签标识的内容需要替换成的内容。通过bookmark.setText即可实现书签内容的替换。

完成替换后,即可调用app.save() 直接保存文件。

保存后的文件可保存在云端,或者下载至本地.

四、总结

除了以上的API,zOffice还提供丰富的文档内容操作接口,可以对文档内容和格式进行深入的操作,让我们期待更多好用的功能和场景介绍吧。

开源办公套件dzzoffice DzzOffice由多款开源办公应用组成,用户安装DzzOffice框架后,可以根据需要从内部的应用市场进行选择和安装。这些应用能够单独使用,也能与其他多款应用组合使用,以满足不同企业和团队的协同办公需求。 阅读详情

相关推荐

zOffice新年新版本!多项实用功能上线

重磅发布的[数据透视表],意味着zOffice的表格实现了从采集,到处理分析,再到报告展现的全线数据处理能力。文档[协作记录]的上线,标志着文字文档的安全管控提升到了新的高度。除此以外还有[消息通知]和[快捷设置样式]这种让我们工作效率分分钟翻倍的实用功能。

Filez的博客 516

zOffice赋能合同管理,助力法务部门流程优化

商务合同管理由法务部负责,从合同的谈判、签订、履行、审批、管理、纠纷解决等多方面管理,充分提高工作效能,确保公司对合同目的的实现具备合理预期,使公司在缔约、履约以及纠纷解决过程中保持法律优势,最大幅度地降低合同风险。审阅者通常需要完整的查看所有的内容,避免疏漏,如果反复的次数较多,审阅的工作量相对较大。zOffice提供文档的编辑和预览能力,合同管理系统可以将zOffice能力集成进合同管理流程中,实现合同模板管理、合同自动拟制、在线预览、协同编辑及在线审阅会签,形成完整的合同管理体验。

Filez的博客 606

Excel 数据分析常用函数汇总

很多传统行业的数据分析师只要求掌握 Excel 即可,会 SPSS / SAS 是加分项。哪怕在数据分析岗位很多的互联网行业,Excel 依旧是不可替代的基础工具。Excel 是数据分析最常用、最基础的工具。大量传统行业(商贸、工厂、门店进销存)的数据分析师,熟练掌握 Excel + SQL 就可以完成绝大多数日常工作。对于初学者,不用一上来就啃 Python、R 这类编程语言,Excel 自带的函数、透视表、可视化插件足够支撑大部分统计、核对、报表需求;

qq_22201881的博客 184

zOffice | 新版本发布,办公更高效,信息更安全

zOffice在线文档新版本在文字文档方面新增的修订记录和批注模式,在电子表格方面新增的批量添加数据保护功能,极大地提升了专业编辑能力和更加流畅的协同体验,良好地保障了数据信息安全,为团队办公提供了新的助力。zOffice 集成版推出批注模式,在预览模式的基础上增加对批注的增、删、改、查操作,其余成员可以将批注作为任务清单,对已完成的问题点击解决关闭,已解决的批注不会删除而是会留存在批注列表内,方便重开回溯。目前zOffice在线文档,支持文档所有者开启或关闭修订,修订记录开启后,会自动记录对文档的修改。

Filez的博客 534

【研究生学术英语读写教程翻译 中国科学院大学Unit9】

Unit 9 If Humble People Make the Best Leaders,Why Do We Fall for Charismatic Narcissists? 如果谦逊的人是最好的领导者,为什么我们会爱上魅力型自恋者?

fuhanghang的博客 4101

LEF 5.8 Language Reference学习笔记

您可以在一个 LEF 文件中定义所有元件库信息,但这样会产生一个复杂且难以管理的大文件。相反,您可以将信息分为两个文件,一个是 "technology "LEF 文件,另一个是 "cell library "LEF 文件。

yajuan的专栏 4101

Office-365 SDK for Android 使用教程

Office-365 SDK for Android 使用教程 1. 项目介绍 Office-365 SDK for Android 是由 Microsoft 开发的开源项目,旨在帮助开发者轻松地将 Office 365 的服务和数据集成到 Android 应用程序中。该项目提供了 Android/Java 库,使开发者能够通过这些库访问 Office 365 的各种服务,如文件服务、发现服务、A...

gitblog_00149的博客 772

antdv-<a-form>的使用

是 Ant Design Vue 中用于创建表单的组件,提供了一种结构化的方式来收集用户输入。它支持多种布局、验证、数据绑定等功能,非常适合用于处理用户输入和提交数据。

2302_81312344的博客 2619

WPS二次开发系列:WPS SDK打开在线文档

在项目开发中会碰到需要在自己的应用中(OA系统)调用WPS打开Word,Excel,Ppt等Office系列文档(文档是在线的,只有文档链接)的情况,此文介绍了WPS-SDK调用相关API文档完美实现的从第三方用于调用API打开WPS在线文档进行文档编辑保存后并将文档保存结果回传给第三方应用服务器的功能。至此一个第三方应用调用WPS打开在线文档,进行文档编辑并监听保存完成后的文档回传给第三方应用的功能完成,是不是超级简单。将WPS提供集成资源压缩包里面libs相关的aar文件集成到自己的工程中。

weixin_51832365的博客 3560

金蝶云星空v8.0私有化部署与cpolar内网穿透:构建企业级远程ERP访问通道

本文详细介绍了金蝶云星空v8.0企业版的私有化部署流程与cpolar内网穿透技术,帮助企业构建安全高效的远程ERP访问通道。从系统环境准备、SQL Server配置到内网穿透安全加固,提供全流程实战指导,助力企业实现本地部署与远程办公的无缝衔接。

weixin_28736335的博客 376

Eureka常见面试题总结

点击关注我的博客原文 Eureka是Netflix组件的一个子模块,也是核心模块之一。云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移(来源springcloud中文网的介绍:https://www.springcloud.cc/)。下图总结了Eureka服务端(以下简称服务端)与Eureka客户端(以下简称客户端)之间协同工作的流程: 流程说明:...

u012105931的博客 2万+

业务系统里的Office文档如何在线编辑

在数字化转型的背景下,现代企业的诸多业务系统(合同管理系统,OA,邮件,客户管理系统等)已经可以用浏览器直接使用,但是word,excel,ppt等Office文档在业务系统中还经常以*.docx,*.xlsx,*.pptx的附件的形式存在,用户依然需要先下载到本地,然后用Office打开编辑,完成后再上传回去。那么如何实现对业务系统中Office文档的多人在线编辑,实现业务系统的体验闭环和应用创新?答案是和zOffice在线文档系统集成。

Filez的博客 1316

WSL2+Ubuntu-22.04搭建PX4仿真环境:从零避坑到一键起飞

本文详细指导在Windows系统上通过WSL2和Ubuntu-22.04搭建PX4仿真开发环境的完整流程,涵盖环境配置、源码下载、依赖安装、Gazebo仿真及常见错误解决方案,帮助开发者从零避坑实现无人机一键起飞仿真。

k8s6orchestrator的博客 670

zOffice | 简单实用的五个小功能,快get起来提升工作效率吧

可以使用zOffice在线文档的“分组”功能,选择统一类别的数据点击分组按钮,即可将数据划分为同一组别,点击折叠按钮即可收起不想查看的数据组,同时支持层级嵌套,可在大组别内设置小组别,让数据视图更加清晰整洁。zOffice在线文档提供53种条件格式规则,功能自由度高,同时支持多种条件叠加,此外,在条件格式管理面板内可以快速调整显示顺序并管理已有格式。zOffice在线文档提供全部查找和逐步查找两种方式,全部查找时,会展示根据条件所有查询到的所有数据列表,点击结果项,快速定位对应的单元格。

Filez的博客 482

基于51单片机的电压表【0-20V,ADC0832,4051,自动量程】(仿真)

自动换挡式数字电压表就是一个基于单片机的能自动切换量程的数字电压表,其作用是在使用低位的AD转换实现高精度电压测量,可以测量0~20V的电压,并且具有0~0.2V(待测电玉低于0.2V时),0~2V(待测电压低于2V时)和0~20V三个量程自动匹配测量,当待测电压值发生变化时,电压表可以根据输入电压情况自动选择合适的量程进行测量,并且把测量结果显示出来。(2)实现电压表精度测试,最高精度要求0.01V;(1)实现0~20V分3档式电压表;

qq_63964231的博客 1497

C#.NET斗地主服务端核心架构与高性能实现

斗地主作为典型的实时对战棋牌逻辑,本质是状态驱动的分布式协同问题。其技术内核涵盖有限状态机建模、低延迟网络同步、无GC内存操作与轻量级AI决策等关键能力。在.NET平台下,借助Span<T>、ImmutableArray、命令/事件总线与内存池等特性,可构建出高吞吐(200+ QPS)、低延迟(<150ms)、强一致的可落地服务端。本文聚焦C#.NET生态中斗地主核心模块的设计取舍与压测验证,深入解析状态机驱动、CardSet结构体优化、Kestrel中间件锁、规则+概率混合AI等实战方案,为实时对战类业务

weixin_29726381的博客 345

Excel的三种密码:防看、防存、防乱改,各管各的

你的Excel该用哪种密码?看完这篇就懂了

passneo的博客 177

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

全星FMEA系统深度评测:从Excel地狱到平台化失效分析的工程实践

全星FMEA系统的核心价值不在"表格电子化",而在七步法结构化 + 三大文件联动 + 变更可追溯 + 平台化集成。它不完美——自动化程度有限、对基础数据质量高度依赖、AI能力偏保守。但对于需要"说得清、改得准、审得过"的制造企业,这套取舍是合理的。一句话:它卖的不是FMEA软件,是研发风险的可控性。欢迎评论区交流FMEA系统选型与实施经验,后续可拆解APQP/PPAP联动细节。#FMEA #质量管理 #APQP #IATF16949 #制造业数字化 #技术选型。

2501_90343043的博客 337

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

硬件工程师效率工具:BOM 搜料备料效率小工具丨通过写VBA宏在Excel一键把 BOM 器件批量转成立创商城搜索链接并在浏览器自动打开

本文分享一个ExcelVBA小工具,可批量生成立创商城搜索链接并一键打开。选中BOM型号列后,自动在右侧生成经过UTF-8编码的搜索链接(处理空格、%、括号、中文等特殊字符),支持立即批量打开或后续单独打开。代码原样保留原始型号,不修改数据,适合高频搜料场景,提升备料效率。建议使用Microsoft Excel保存为.xlsm文件启用宏,兼容性更佳。

m0_56491492的博客 313

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

跨境电商订单导出CSV用Excel打开手机号变科学计数法的列格式排查

手机号在 Excel 中变科学计数法,多因 CSV 被按数值解析。先看编辑栏判断是显示格式还是精度丢失,再用导入向导指定文本列,并核对源文件与保存后的结果,定位异常发生在哪一层。

2501_90960485的博客 132

向 excel、word、pdf 三种文档中占位符插入数据

【代码】向 excel、word、pdf 三种文档中占位符插入数据。

weixin_45934659的博客 61

Excel 导入后标签全错行:Brady Workstation 先把表头和标签顺序对齐

Excel 数据导入 Brady Workstation 后错行,常与表头、字段映射、导入方式、模板模式和标签顺序有关。文章给出官方操作边界、首尾记录验收和 CSV 检查脚本。

preludecorp的博客 329

【python项目】:1操作EXCEl自动化开发

编码选 UTF-8,保存后双击直接用 Excel/WPS 打开。然后再次另存为xlsx格式。使用方法:全选下面所有文字,复制,记事本粘贴,保存,文件名填。难点:有的电影类型包含多种:喜剧 动画 音乐。

总裁余(余登武)博客 52

跨境电商订单导出CSV用Excel打开后SKU前导零丢失的原因与两种修复方式

解释Excel打开订单CSV后SKU前导零丢失的机制,先教用文本编辑器判断零丢在文件还是打开环节,再给出导入向导指定文本列与先建文本模板两种修复方式及适用边界。

2501_93712812的博客 198

五金厂排产困局破局:从Excel改单3小时到JVS-APS分钟级重排

本文以五金行业多品种、小批量、高频插单为背景,剖析Excel排产失效的技术根源,详解JVS-APS如何通过工艺模板规则化建模、主辅资源实时联动、四维约束闭环计算与执行反馈驱动,实现分钟级动态重排。附可落地的配置逻辑与闭环执行路径。

431

使用C#代码提取、修改或删除 Excel 中的超链接

通过 C# 和 VB.NET,可以方便地管理 Excel 文件中的超链接,包括提取、修改和删除等操作。提取超链接: 获取工作表中的超链接集合,读取每个超链接的地址和类型,并将相关信息保存到文本文件中。修改超链接: 更新超链接的显示文本和目标地址,确保链接信息准确。删除超链接: 移除指定的超链接,同时可以选择保留单元格中的原有显示文本,或清除单元格的全部内容。这些操作可以帮助开发人员更高效地管理 Excel 文档中的链接信息,减少重复的手动操作,也便于在数据迁移、文档维护和自动化报表处理等场景中使用。

2501_93070778的博客 235
上一篇: 如何获取签章定位信息
下一篇: 如何通过在线表格实现资源预定
联想Filez协同办公
博客等级 码龄5年 6粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值