一种基于动态区域Excel内容的预览方法及装置与流程
- 国知局
- 2024-12-26 16:09:30
本发明涉及web技术与文档处理,特别是涉及一种基于动态区域excel内容的预览方法、装置、电子设备及计算机存储介质。背景技术:::1、如今的互联网逐渐普及,尤其web端的使用场景越发广泛,现有技术已经存在将各种不同类型的文档上传到web,并供用户通过web预览、查看文档的内容,以摆脱文档仅能在本地预览的限制,从而提高工作效率和团队协作能力。2、其中,在实现excel文件的web端预览时,一般通过将excel文件转pdf文件,并pdf文件存储至服务器,使用户通过web端预览该pdf文件来查看excel的内容。然而,pdf格式具有固定的宽度需求,excel内容在转换为pdf时,往往会导致excel的内容被裁剪、分页,从而使excel的内容显示不连贯、预览效果较差,具体可参考图1。3、基于此,现有技术通过直接读取excel文件中每一个单元格数据,包括格式、颜色、字体等属性,并将其存入数组中,然后将数组返回至web端(前端),使web端根据数组对应的单元格数据计算渲染出html的表格(<table></table>),实现web端预览excel的效果。然而,每次用户在web端预览时,其客户端需要重新渲染数据,尤其是excel存在大量的内容时,容易导致用户加载时间过长,严重影响了用户的体验。据此,现有技术的excel内容在web端展示存在适用性差和计算资源浪费的问题。技术实现思路1、基于此,本发明的目的在于,提供一种基于动态区域excel内容的预览方法。2、一种基于动态区域excel内容的预览方法,包括以下步骤:3、s1:获取预览的待生成区域的用户请求信息;4、s2:根据预览的待生成区域的用户请求信息,判断数据库是否存在已生成的excel内容图片:若是,则获取已生成的excel内容图片,并执行步骤s5;若否,则执行步骤s3;5、s3:根据预览的待生成区域进行查找,获得匹配的excel单元格数据;6、s4:根据匹配的excel单元格数据进行渲染拆分,生成若干匹配的excel内容图片,并保存至数据库中;7、s5:将若干匹配的excel内容图片进行排序组合,显示至所述预览的待生成区域。8、本发明所述的基于动态区域excel内容的预览方法,通过按需查找数据库缓存或按需进行渲染生成匹配的excel内容图片,以显著缓解服务端的渲染压力,同时避免服务端的瞬时压力变大,导致干扰服务端的其他业务执行。此外,本发明通过渲染拆分以及组合显示的方式在预览的待生成区域进行显示,以避免出现excel内容被裁剪、分页等,提高web端对excel进行预览的适应性。9、进一步地,所述步骤s2包括以下子步骤:10、根据待生成区域的位置和尺寸,获取待生成区域的左上角坐标area左上角和右下角坐标area右下角,具体满足以下表达式:11、area左上角=(δw,δh)12、area右下角=(δw+w,δh+h)13、式中,δw和δh表示待生成区域的当前滚动条在横轴和纵轴上的位置,w和h表示待生成区域的宽度和高度;14、查找数据库中是否存在与待生成区域相交的已生成的excel内容图片,若是,则获取相应的已生成的excel内容图片;其中,已生成的excel内容图片image满足以下条件:15、(δw≤(x1,x2)≤δw+w+c)and(δh≤(y1,y2)≤δh+h+c)16、式中,x1和y1表示为已生成的excel内容图片的左上角坐标,x2和y2表示为已生成的excel内容图片的右下角坐标,c为自定义常数。17、本发明使系统通过(δw≤(x1,x2)≤δw+w)和(δh≤(y1,y2)≤δh+h)判断已生成的excel内容图片是否处于待生成区域的相交坐标,从而实现对已生成内容图片的索引,直接显示已生成的excel内容图片,无需重复渲染,从而提升系统的响应速度。18、进一步地,所述步骤s4包括以下子步骤:19、通过将匹配的excel单元格数据进行渲染,获得表格数据,并将表格数据转换为图片,获得完整的excel内容图片;20、根据预设的图片存储尺寸,采用滑动窗口对完整的excel内容图片进行裁剪,获得若干子图,具体表达式为:21、完整的excel内容图片的宽高分别为w、h;22、滑动窗口的宽高分别为δw、δh;23、则:24、images={window(i,j)|1≤i≤m,1≤j≤n}25、式中,images为若干子图的集合,window(i,j)对应完整的excel内容图片的第i行、第j列的子图,其window(i,j)满足以下表达式:26、window(i,j)=image(x∈[α,α+δw],y∈[β,β+δh])27、式中,x∈[α,α+δw]和y∈[β,β+δh]分别表示为当前子图的水平像素和垂直像素的坐标区间,α和β分别为当前滑动窗口的水平移动距离(j-1)×δw和垂直移动距离(i-1)×δh,而n和m分别为滑动窗口在水平方向和垂直方向裁剪的次数,n满足以下表达式:28、29、式中,表示向上取整计算;30、将相应的序号赋予至若干子图,获得若干匹配的excel内容图片。31、本发明通过滑动窗口对完整的excel内容图片裁剪,有效确保裁剪过程中不遗漏任何内容,同时可以有效地处理不同显示区域的裁剪需求,例如:excel内容中潜在的动态列宽、合并单元格、图表嵌入不一致的情况,从而确保完整性和拼接一致性。32、进一步地,所述滑动窗口为自适应滑动窗口,所述window还满足以下表达式:33、window(i,n)=image(x∈[α,w],y∈[β,β+δh]),1≤i<m34、window(m,j)=image(x∈[α,α+δw],t∈[β,h]),1≤j<n35、window(m,n)=image(x∈[α,w],y∈[β,h])36、式中,image(·)为当前子图在横纵上的像素坐标区间,α和β分别为当前滑动窗口的水平移动距离(j-1)×δw和垂直移动距离(i-1)×δh,n和m分别为滑动窗口在水平方向和垂直方向裁剪的次数,δw和δh分别为滑动窗口的宽和高,w和h分别为完整地excel内容图片的宽和高。37、本发明通过引入自适应滑动窗口,以确保在裁剪完整的excel内容图片的水平和垂直边缘末端时,滑动窗口能够根据实际需要进行调整,不超出裁剪范围,从而有效避免了边缘空白的产生。38、一种基于动态区域excel内容的预览装置,包括请求信息获取单元、图像缓存判断单元、excel单元格数据查找单元、图片渲染单元和组合图片显示单元;39、所述请求信息获取单元,用于获取预览的待生成区域的用户请求信息;40、所述图像缓存判断单元,用于根据预览的待生成区域的用户请求信息,判断数据库是否存在已生成的excel内容图片:若是,则获取已生成的excel内容图片,并调用所述组合图片显示单元;若否,则调用excel单元格数据查找单元;41、所述excel单元格数据查找单元,用于根据预览的待生成区域进行查找,获得匹配的excel单元格数据;42、所述图片渲染单元,用于根据匹配的excel单元格数据进行渲染拆分,生成若干匹配的excel内容图片,并保存至数据库中;43、所述组合图片显示单元,用于将若干匹配的excel内容图片进行排序组合,显示至所述预览的待生成区域。44、进一步地,所述图像缓存判断单元用于执行以下步骤:45、根据待生成区域的位置和尺寸,获取待生成区域的左上角坐标area左上角和右下角坐标area右下角,具体满足以下表达式:46、area左上角=(δw,δh)47、area右下角=(δw+w,δh+h)48、式中,δw和δh表示待生成区域的当前滚动条在横轴和纵轴上的位置,w和h表示待生成区域的宽度和高度;49、查找数据库中是否存在与待生成区域相交的已生成的excel内容图片,若是,则获取相应的已生成的excel内容图片;其中,已生成的excel内容图片image满足以下条件:50、(δw≤(x1,x2)≤δw+w+c)and(δh≤(y1,y2)≤δh+h+c)51、式中,x1和y1表示为已生成的excel内容图片的左上角坐标,x2和y2表示为已生成的excel内容图片的右下角坐标,c为自定义常数。52、进一步地,所述图片渲染单元用于执行以下步骤:53、通过将匹配的excel单元格数据进行渲染,获得表格数据,并将表格数据转换为图片,获得完整的excel内容图片;54、根据预设的图片存储尺寸,采用滑动窗口对完整的excel内容图片进行裁剪,获得若干子图,具体表达式为:55、完整的excel内容图片的宽高分别为w、h;56、滑动窗口的宽高分别为δw、δh;57、则:58、images={window(i,j)|1≤i≤m,1≤j≤n}59、式中,images为若干子图的集合,window(i,j)对应完整的excel内容图片的第i行、第j列的子图,其window(i,j)满足以下表达式:60、window(i,j)=image(x∈[α,α+δw],y∈[β,β+δh])61、式中,x∈[α,α+δw]和y∈[β,β+δh]分别表示为当前子图的水平像素和垂直像素的坐标区间,α和β分别为当前滑动窗口的水平移动距离(j-1)×δw和垂直移动距离(i-1)×δh,而n和m分别为滑动窗口在水平方向和垂直方向裁剪的次数,n满足以下表达式:62、63、式中,表示向上取整计算;64、将相应的序号赋予至若干子图,获得若干匹配的excel内容图片。65、进一步地,所述滑动窗口为自适应滑动窗口,所述window还满足以下表达式:66、window(i,n)=image(x∈[α,w],y∈[β,β+δh]),1≤i<m67、window(m,j)=image(x∈[α,α+δw],y∈[β,h]),1≤j<n68、window(m,n)=image(x∈[α,w],y∈[β,h])69、式中,image(·)为当前子图在横纵上的像素坐标区间,α和β分别为当前滑动窗口的水平移动距离(j-1)×δw和垂直移动距离(i-1)×δh,n和m分别为滑动窗口在水平方向和垂直方向裁剪的次数,δw和δh分别为滑动窗口的宽和高,w和h分别为完整地excel内容图片的宽和高。70、为了更好地理解和实施,下面结合附图详细说明本发明。当前第1页12当前第1页12
本文地址:https://www.jishuxx.com/zhuanli/20241216/348449.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。