[发明专利]一种针对同文档的多用户同步编辑处理系统及处理方法有效
申请号: | 201711234032.8 | 申请日: | 2017-11-30 |
公开(公告)号: | CN108009243B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 叶华;赵川;路学刚;朱涛;蒋亚坤;王彬筌;朱晔;张淑恒;高凌;王培培;张京仁 | 申请(专利权)人: | 云南电网有限责任公司;青岛方天科技股份有限公司 |
主分类号: | G06F16/26 | 分类号: | G06F16/26;G06F16/25 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 650000*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 文档 多用户 同步 编辑 处理 系统 方法 | ||
1.一种针对同文档的多用户同步编辑处理方法,其特征在于,包括如下步骤:
(一)、对数据文件自动解析,通过一个模板文件拆分解析成头文件相同的多个小文件;解析过程:
(1)按照设置的头部范围取出头部数据;
1、读取原文档到内存,记为worksheet1,加载文档第一个Sheet,获取出第一个Sheet所有列的集合;
2、查询数据库配置的Excel信息,取出开始头行数和结束头行数;
(2)按excel首列合并单元格取出合并范围,进行拆分内容;
1、根据所有列的集合获取出有合并过单元格的列集合;
2、循环取列集合,取出符合条件的数据;条件:是合并的列,并且是单元格第一列的数据;放到Map集合中数据格式:A11:A16代表合并数据范围;
3、遍历Map集合,每次取出1个符合条件的合并列,新创建一个内存,记为newWorksheet,对象放临时数据,sheet名称设置为原文档名称,取出Map集合范围值,拆分范围字符串A11:A16得到开始行数为11,结束行数为16,遍历过程中判断结束行数是否小于等于结束头行数,否则跳出本次遍历;
(3)将拆出头部数据和内容合并到新excel;
1、取出头部范围:按照取出开始头行数及结束头行数循环数据,将内存对象worksheet1的当前行数复制到newWorksheet当前行数,取出内容范围:按照获取的开始内容行数及结束内容行数循环数据,将内存对象worksheet1的当前行数复制到newWorksheet当前行数,合并Excel内容项第一列的单元格;
2、输出内容,获取当前合并列的内容当做文件名称,保存文件到指定路径,文件名按照当前时间戳命名,对切出的文档进行保存数据库操作;
3、重复执行遍历Map操作;
(二)、多用户同时在线编辑文档,通过为不同用户分配拆分后文件的权限,支持所有用户同时在线编辑文件内容并提交;
(三)、文档内容的合并下载,跟踪多文档提交状态,合并成一个文档并完整保留不同用户编辑的内容,下载查看;子文件合并过程为:
(1)取出第一个文档所有内容
1、按照文档ID取出拆分后文档数据地址;
2、创建内存对象存放临时Excel记为worksheet,循环查询出的数据地址内容,得到文件真实路径地址以及开始头行数、结束头行数;
3、按照文档地址加载文档到内存中,记为新ws,第一次循环时,取第一个Sheet并且按行取出文档所有内容,将ws数据复制到worksheet中,记录ws最后一行的索引值;
(2)从第二文档开始移除头部数据,合并到新文档中;
第二次循环,以结束头部行数为开始,文档结束内容行数为终止,遍历循环文档内容部分,将ws数据复制到worksheet中;
(3)导出文档数据;
1、重复执行循环操作,将每个子文档地址内容添加到worksheet中,取出文件名称,将worksheet内容写入到指定路径中,并保存文件,文件名为原文的名称;
2、将生成出的文件转为文件流进行下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南电网有限责任公司;青岛方天科技股份有限公司,未经云南电网有限责任公司;青岛方天科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711234032.8/1.html,转载请声明来源钻瓜专利网。