SW
SW
审计工具箱
看账相关

批量生成小账套

根据原始财务数据批量生成标准小账套 Excel 文件,支持自定义列映射和 VBA 宏自动导入

视频教程


功能概述

批量生成小账套模块用于将原始财务数据(科目余额表、辅助科目余额表、序时账)批量导入到标准小账套模板中,自动执行 VBA 宏完成数据格式化。每个公司生成一个独立的 .xlsm 小账套文件。

注意: 本功能需要安装 Microsoft Excel,因为依赖 xlwings 调用 Excel VBA 宏。

配置文件

配置文件路径:input/批量生成小账套.xlsx,包含以下 Sheet:

文件储存 Sheet

单元格参数示例说明
B1数据源文件夹路径/Users/nigo/audit/项目/原始数据存放按公司分组的原始数据文件
B2输出文件夹路径/Users/nigo/audit/项目/小账套生成的小账套文件保存位置
B3数据是否分区「是」表示每个公司在独立子文件夹中;「否」表示所有文件在同一个文件夹

映射 Sheet(3 张)

配置文件包含三张映射 Sheet,用于定义原始数据列名到小账套标准字段的对应关系:

Sheet 名称对应数据表
科目余额表映射科目余额表
辅助科目余额表映射辅助科目余额表
序时账映射序时账

每张映射 Sheet 的填写方式:

行/列内容
第 1 行(A 列起)原始数据的表头名称(从原始 Excel 复制粘贴)
第 2 行(A 列起)下拉选择对应的小账套标准字段名称,不需要的字段留空
B5 单元格数据起始行号(默认为 2,即从第 2 行开始读取数据)

映射 Sheet 示例

以科目余额表映射为例:

列号第 1 行(原始表头)第 2 行(小账套字段)
A科目代码科目代码
B科目名称科目名称
C期初余额期初余额
D借方金额借方金额
E贷方金额贷方金额
F期末余额期末余额

操作步骤

1. 准备原始数据

按公司名称创建文件夹,每个文件夹下放置三张表的数据文件:

数据源文件夹/
  ├── 公司A/
  │   ├── 公司A-科目余额表.xlsx
  │   ├── 公司A-科目辅助余额表.xlsx   (非必需)
  │   └── 公司A-序时账.xlsx
  ├── 公司B/
  │   ├── 公司B-科目余额表.xlsx
  │   ├── 公司B-科目辅助余额表.xlsx
  │   └── 公司B-序时账.xlsx

注意: 文件命名必须遵循 公司名-表名.xlsx 的格式。支持 .xlsx.xls.xlsm 三种扩展名。若文件名不匹配,程序将跳过该表的导入。

2. 编辑配置文件

  1. 打开 input/批量生成小账套.xlsx
  2. 在「文件储存」Sheet 中填写数据源路径、输出路径、是否分区
  3. 在三张映射 Sheet 中分别填写列映射关系

3. 运行

  1. 在工具箱中点击「填写数据」选择配置文件
  2. 点击「运行」开始批量处理
  3. 程序会依次处理每个公司,显示进度和结果

处理流程

对每个公司执行以下步骤:

  1. 复制小账套模板文件 input/小账套-模板.xlsm 到输出目录,重命名为 {公司名}-小账套.xlsm
  2. 在新纪元后端启动独立的 Excel 实例(不可见,禁用警告弹窗)
  3. 按顺序导入三张表数据:
    • 执行导入宏将数据写入对应 Sheet
    • 执行格式化宏(Import.Worksheet_BeforeDoubleClick)处理数据格式
    • 将映射表中的列标题写入「导入数据」Sheet
  4. 保存并关闭工作簿

输出结果

输出路径
小账套文件{输出文件夹}/{公司名}-小账套.xlsm

每个公司生成一个独立的小账套 .xlsm 文件,可直接用 Excel 打开使用。

执行摘要

程序运行结束后会显示执行摘要:

  • 总耗时
  • 成功数量失败数量
  • 失败公司列表(如有)
  • 生成文件的保存路径

常见问题

  • 「找不到数据文件」:检查文件命名是否为 公司名-科目余额表.xlsx 格式,注意区分「辅助科目余额表」和「科目辅助余额表」
  • 「模板文件不存在」:确保 input/小账套-模板.xlsm 文件存在
  • Excel 进程残留:程序会在 finally 块中自动关闭启动的 Excel 实例,即使处理出错也会清理

注意: 如果不需要辅助科目余额表,可以不放置对应文件,程序会自动跳过并继续处理其他表。