Files
dc-docs/output/feishu-docs/MV29wcO5NiMgbWk3AuvcUygqn0b.md
T
2026-06-23 14:43:31 +08:00

70 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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文件结构
- **额外优化**:让引擎能够自动适配新增的列,提高了框架的灵活性
不要盲目信任成熟的第三方库,高级封装的黑盒一旦出问题,排查起来特别困难。对于涉及用户核心数据的操作,要优先考虑稳定性和可控性。**工具交付给用户用,操作简单是底线,底层稳定才是生命线。**