# MV29wcO5NiMgbWk3AuvcUygqn0b Source: https://ocnmca6f1o0p.feishu.cn/wiki/MV29wcO5NiMgbWk3AuvcUygqn0b ## 工作内容概述 1、财务取数工具进行对比差异、进行图像化显示、研究可复用性方案 ## 一、 通用Excel报表模板框架开发 开发通用Excel报表框架时,验证了一个重要的设计原则:**好的框架设计不是寻找完美的工具,而是用简单的方法对冲底层工具的不足** 最初我低估了问题的复杂度,以为直接使用现成模板引擎就能实现**Excel公式的自动填充** 结果踩了大坑:**底层引擎会把Excel原生公式识别为普通文本,根本无法生成可计算的单元格** ### (一)核心问题与解决方案 - **模板引擎无法正确渲染Excel原生公式** - 设计"占位符+后期替换"机制,先在模板中用自定义标记代替公式,渲染完成后统一替换为真实公式 - 避免了繁琐的逐行拼接代码,以极低的成本解决了核心问题 - **动态数据展开后,公式引用位置无法自动更新** - 增加**行号自动修正机制**,在数据展开的同时实时调整所有公式的引用坐标 - 确保多月份、多产品线动态报表的计算准确性不受影响 ### (二)框架沉淀 目前这套"Excel模板+占位符"的方案已初步成型,我后续将它优化为可复用的基础模板框架,具备以下核心能力: - 支持复杂Excel公式的**自动生成和动态调整** - 支持多维度数据的**循环展开** - **完整保留**模板中所有的格式、样式和条件格式 以前写脚本都是解决一个具体问题,现在沉淀出通用框架,才能批量解决一类问题。能大幅提升未来新报表的开发效率。 ## 二、 财务工具桌面端 财务自动化脚本的桌面化改造时,有了一个深刻的认知:**技术工具的价值,不在于核心逻辑有多复杂,而在于用户能不能零门槛地使用它** 过去我总陷入技术人员的常见误区,认为只要**业务逻辑正确**,让用户**装个运行环境、配个参数只是举手之劳** 但实际落地中发现,对非技术背景的业务同事来说,**任何额外的部署步骤,都是工具被闲置的开端** ### (一)核心问题与解决方案 - **原有工具**:只能通过命令行启动,需要用户安装运行环境、手动配置文件路径、修改参数 - **改造方案**: - 采用三栏卡片式简洁布局重新设计界面,**将所有路径选择、参数填写功能整合至同一窗口** - 通过自动化编译打包,**将全部依赖项集成到一个轻量独立文件** - 增加了**可视化进度提示**和**友好的错误处理机制** ### (二)改造效果 - 财务同事**双击即可运行**,无需任何技术配置 - **彻底解决**了困扰已久的"装环境"痛点 - 工具从"技术人员专属"变成了"全员可用" **关键结论** 真正的自动化,不该让业务迁就技术,而是技术要主动适配用户的习惯。过去我总将业务逻辑的实现放在首位,如今深刻体会到:**让用户不用折腾就能用,才是工具真正能产生价值的关键。** ## 三、 项目拆分规则配置化改造 完成项目拆分规则的配置化改造时,深刻体会到:**财务系统的核心竞争力,不仅在于自动化程度,更在于对业务变化的响应速度** 这个拆分规则特别繁琐,涉及**账簿名、公司名的精确匹配、模糊匹配,还有各种排除逻辑** 一开始差点就图省事写一堆if-else硬编码了,但仔细想了想,**业务规则以后肯定还会变,硬编码只会越堆越乱** ### (一)核心问题与解决方案 - **原有方案**:所有拆分规则硬编码在代码中,规则变更需要开发人员修改代码、测试、发布 - **改造方案**: - **扩充配置规则的表达能力**,在配置表中增加包含、排除、模糊匹配等常用逻辑 - **设计通用的打标机制**,所有业务规则都通过配置表实现 - **核心代码保持简洁**,只负责执行配置好的规则 ### (二)改造效果 - 业务规则变更时,**无需修改核心代码**,财务同事自己就能在配置表中调整 - **大幅缩短了规则变更的响应时间**,从原来的1-2天缩短至几分钟 - 避免了硬编码导致的代码腐化和"屎山"问题 ### (三)数据准确性验证 财务系统容不得半点差错,一分钱的偏差都可能导致整个系统失去信任。在端到端测试过程中: - 发现并修复了后处理模块漏掉一笔费用分摊的问题 - 全量跑通后,最终结算金额与手工样表**完全一致** - 实现了业务数据的**精准咬合** 只有经过真实业务数据验证的自动化,才是真正可靠的自动化。将业务规则配置化,不仅能提高系统的灵活性,也能让业务人员更深度地参与到系统的维护中来。 ## 四、 Excel报表格式稳定性修复 排查Excel报表损坏问题时,得到了一个重要的教训:**高度封装的第三方库虽然能提高开发效率,但也可能成为系统中最隐蔽的风险点** 之前一直用的第三方Excel操作库,在追加辅助列保存的时候,**会悄无声息地删掉模板里自带的透视表底层链接** 导致输出的所有报表都直接崩溃,而且**这个问题在开发环境中很难被发现** ### (一)问题排查与解决方案 - **问题现象**:生成的Excel文件打开时提示损坏,透视表无法正常工作 - **排查过程**:逐步缩小问题范围,最终定位到第三方库在保存文件时会丢失部分内部结构 - **解决方案**:**果断回滚原有方案**,改用更基础的方式直接操作Excel文件结构 - **额外优化**:让引擎能够自动适配新增的列,提高了框架的灵活性 不要盲目信任成熟的第三方库,高级封装的黑盒一旦出问题,排查起来特别困难。对于涉及用户核心数据的操作,要优先考虑稳定性和可控性。**工具交付给用户用,操作简单是底线,底层稳定才是生命线。**