七月下旬更新速递丨 任务中心上线,福利加倍!技术干货持续放送

更新焦点: 重磅推出「任务中心」! 完成多样化任务,轻松赚取麦豆!技术分享、AI学习、实用素材持续上新,点击标题立即探索!

任务版块全新登场!多个任务等你完成,麦豆轻松拿,福利享不停!

>> 立即前往任务中心,开启你的成长之旅! <<

二、实战技巧分享

报表合计不用愁!全场景报表合计一键搞定指南》→从几个场景出发,带大家全方位了解如何在各类报表中实现合计。

数据轻松入库,高效分析即刻开启!》→详细介绍在 Smartbi 中将数据导入数据库的几种主要途径。

三、开发技能突破

第三方系统集成Smartbi资源→演示一些入门的前端集成示例,帮助快速了解如何进行前端集成。

AI每日一学

什么是训练集?什么是验证集?什么是测试集?》→ 讲解如何用三大数据集为AI打造"训练-调试-终测"的全流程闭环

Manus与其他AI智能体产品有什么区别?》→ AI界真·“实干家”Manus上线!告别“嘴炮”AI,围观智能体如何“动手”逆天改命!速戳

五、资源更新

浅色系质感背景图》→百搭质感背景,看见即呼吸,质感如微风。

六、直播上线

如何制作性能最佳的报表解锁性能最佳报表的实践技巧

麦粉社区
>
帖子详情

[报表开发] 电子表格性能优化实战技巧

动态中心 发表于 2025-6-10 16:31
发表于 2025-6-10 16:31:46

各位报表斗士们!无论是处理大数据量报表,还是构建复杂的业务分析模型,性能优化都是提升工作效率的关键。掌握电子表格(包含Web版和插件版)性能优化实战技巧,拯救龟速表格,我们的"实战技巧"包括:


 


一:报表结构优化


1. 合理拆分报表


当报表sheet过多时,建议拆分成多个独立的报表文件,避免单个文件过于臃肿,提高加载和操作效率。


 


2. 避免空白行列占用空间


常见的误操作会导致报表文件过大,例如:



  • 对整行/整列设置格式(如背景色、边框等)

  • 隐藏大量未使用的行/列(如拉到最后一列隐藏)


建议仅对实际使用的区域设置格式,减少无效数据占用。


 


3. 大数据量优化策略



  • 添加查询参数:通过条件筛选减少返回数据量

  • 前端分页:分批加载数据

  • 滚动加载:动态加载数据,减轻初始加载压力。具体参考:电子表格滚动加载


 


4. 减少报表层面计算



  • 减少公式使用,尽量在SQL中处理数据计算;对复杂公式进行优化,加快计算速度。

  • 避免设置单元格过滤:尽量在数据集层面过滤数据


 


二:报表类型选择


5. 清单报表避免使用分组报表



  • 对格式要求不高的清单数据,推荐使用电子表格-清单表或者即席查询类型,而非复杂的分组报表,提升性能。


 


三:性能预加载优化


6. 计划任务预缓存



  • 针对高频使用的重要报表,可设置计划任务(如每天早/中/晚自动打开一次),提前生成缓存,提升用户访问时的响应速度。


 


实战案例分享



  • 案例一:资金收支汇总明细表


某财务报表开发人员使用插件版处理20万+的资金数据,通过优化将响应时间从8分钟降至10秒内。


 


image.png


 


表样要点说明


1、需对每个客户分别计算各个用途金额在总金额的占比


2、冻结列头


 


原设计方案


数据量大约为2万,标红的地方使用了sum公式辅助计算占比,而sum公式单元格会随着前面的单元格向下扩展,导致扩展出上万个sum公式单元格,最终造成打开慢


 


image.png


 


优化要点


1、避免在电子表格中计算,直接在sql中处理好合计值数据


2、添加查询参数,筛选不同维度的用户收支数据,如日期、开户机构等,通过条件筛选减少返回数据量 。


 



  • 案例二:销售数据清单表


某财务报表开发人员使用Web版处理100+列的销售数据,通过优化将响应时间从15秒降至3秒内。


 


image.png


 


表样要点说明


1、销售数据需要以列表清单的展示形式


2、冻结行列


3、对文字过长要求仅显示前19个汉字,后面内容以省略号表示,导出时可显示完整信息


 


原设计方案


1、使用分组报表进行设计,其中sheet1展示缩略数据,【项目清单明细】sheet则是展示完整数据


2、隐藏【项目清单明细】sheet发布到服务器


3、通过宏处理实现浏览时只展示sheet1,导出时删除sheet1并展示被隐藏的【项目清单明细】sheet页。


此设计方案,导致前端渲染压力翻倍。


 


优化要点


1、减少不必要的sheet页



  1. 删除sheet1页,把省略数据和完整数据放在【项目清单明细】sheet页不同的列上

  2. 通过宏处理实现浏览时展示缩略数列并隐藏完整数据列,导出时隐藏缩略数据列并展示完整数据列。参考资料:某些情况下隐藏/展示列


2、 报表类型设置为清单表


3、启用行分页加载(每页500行)


 


image.png


 



  • 案例三:房地产测算套表


某房地产开发项目IT人员使用插件版开发测算套表,比如投资测算、成本测算等模块,用于项目决策和规划。通过优化将响应时间从10分钟降至3分钟内。


 


image.png


 


表样说明


1、整个套表有47个sheet,其中【表3.4-回款计划】有效单元格约76.7w,而【表5.2-支付计划 】约6.5w单元格。其他表格少于3k有效单元格。


2、不同sheet之间存在公式跨sheet页计算


 


优化要点


1、删除【9-1酒店收入】等多个sheet的空白行列,避免前端渲染大量空白单元格


 


image.png


 


2、计划任务提前缓存报表


2.1 创建资源离线任务,离线【xxx房地产_测算套表】资源到服务器


 


image.png


image.png


 


2.2 创建计划,定时执行离线任务,提前缓存报表


 


image.png


 


终极总结:


朋友们,经过这场"变形记",你的表格终于可以告别龟速,重获青春活力啦!记住这些神奇口诀:


精简结构:拆分多Sheet报表,避免空白行列浪费空间


选对类型:清单数据用即席查询或者电子表格-清单表,分组报表慎用


减少负载:参数筛选、分页/滚动加载,大数据不再卡顿


提前缓存:高频报表定时预加载,访问更流畅


优化报表,效率翻倍!


 


【有奖互动】亲爱的数据达人们,我们诚挚邀请您分享提升电子表格性能的技巧,精彩回复将获得惊喜麦豆奖励!

发表于 2025-6-11 11:14:14
赞一个~~~

回复

使用道具 举报

发表于 2025-6-11 15:02:33
打 call~

回复

使用道具 举报

发表于 2025-6-11 15:09:08
删除多余空白行列小技巧,亲测好用!~
比如D列开始后面都要清空,那就选中D列,快捷键按住Ctrl+shift+→,会全选D列右侧所有列,再右键删除;

行的也一样,比如10行后面都不要,选中10行,快捷键按住Ctrl+shift+↓,会全选10行下面所有的行,再右键删除

不谢  
打赏人数1麦豆 +20 收起 理由
麦本麦 + 20 棒!这也是个很好的方案!

查看全部打赏

回复

使用道具 举报

发表于 2025-6-13 11:43:37
如果我要根据参数控制查询结果,查询出来后,还需要在当前页面对结果进行回写,回写涉及上传文件。

如果要上传文件,只能绑定实体表字段,而使用参数只能通过数据集,
同一页面要使用两个数据表,只能使用分组报表,两个数据表要进行关联,只能使用单元格过滤。
数据量也不少,太吃性能了,怎么解决啊
  •   麦本麦
    一般来说回写上传文件是不建议大数据量的,这个目前来说确实没有比较好的解决方案,您上传文件的使用场景是怎么样的,可以看看有没有其他解决方案。
    2025-6-16 15:00| 回复

回复

使用道具 举报

发表于 2025-6-20 11:01:17

赞一个~~~
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

8回帖数 0关注人数 2040浏览人数
最后回复于:2025-6-20 11:01
快速回复 返回顶部 返回列表