忙碌的期末总算结束了,终于能静下心来,随便写点东西,把这段时间的工作做个总结,或许以后再做相关工作时能派上用场。期末的核心工作主要有两项,一项是编制资产年报,另一项是中晚餐退费。这两项工作都极度依赖前期铺垫,前期工作做得扎实规范,后续推进就会顺畅很多,省去不少麻烦。先从资产年报说起吧。
整体做下来,资产年报其实不算复杂,能否顺利完成,关键在于掌握正确的操作步骤。

资产年报的操作流程主要分为6个步骤,第一步是资产盘点。盘点本身没什么难度,核心就是核对实际资产总数量与台账登记数量是否一致,大部分情况下都不会有问题。不过今年我在这一步栽了跟头,导致后续数据获取全部出错。明年再做盘点时,一定要先核对资产的“取得方式”和“使用状况”——早几年系统对这两项信息没有强制填写要求,有几笔资产的取得方式为空,使用状况标注为“待处置”,就是这些遗漏和不规范的信息,让我后续导出的数据全部出错,当时心情特别糟糕。直到逐一修正这些信息后,后续的数据处理才慢慢顺畅起来。
盘点完成后,就到了本次工作中最重要的环节——填写单户表。单户表包含多个子表格,核心涉及:封面、01负债表、02机构人员情况表、03固定资产和无形资产存量情况表、04土地情况表、05房屋情况表、08固定和无形资产配置表、09资产出租出借情况表、10资产处置情况表。其中需要特别注意:09表(资产出租出借情况表)今年学校没有相关业务,无需填写,但明年公寓将涉及出租,务必提前做好相关数据的留存和记录;10表(资产处置情况表)今年涉及资产处置业务,需要如实填写完整。

对于我们学校而言,以上这些就是单户表的核心内容,其他子表格基本可以忽略不计。填写时建议优先完成04、05、08、10、02这几张表,这些表格的数据大多能在资产云的月报中直接查询获取:08表(固定和无形资产配置表)只需将查询月份设置为当年1月至12月,就能导出对应数据;10表(资产处置情况表)可在资产销账模块导出当年所有处置记录,合并整理后填写,基本不会出错;04、05、02表若没有特殊变动,沿用历年数据即可,有变动的地方稍作调整就行。
03表(固定资产和无形资产存量情况表)是整个单户表中最繁琐的一张,但只要提前做好前面几张表,就能清晰明确各项数据的来源,有变动的地方用计算器简单核算即可。如果跳过前面的步骤直接填写03表,很容易出现数据混乱、反复修改的情况,非常浪费时间。最后填写01表(负债表),确保其数据与当年12月份的负债表完全一致即可。只要到这一步没有出现报错,后续的流程就非常简单,这里就不详细赘述了。
另外补充一点,今年借助AI的发展,我为资产云制作了一个资产导入插件。遇到大量资产需要登记的情况,无需逐一手动填写,通过插件鼠标操作就能轻松导入,既不违规,也不会涉及信息泄露,插件相关文件均存储在本地,使用起来很放心。同时,我也为局里的资产登记工作制作了批量导入插件,提升了登记效率。
中晚餐退费这件事,说起来简单,软件本身已经做好了基础设置,但实际操作起来还是会遇到不少麻烦,核心问题在于涉及的细节过于零散。这里分享几个最实用的操作技巧,希望能帮到后续工作。
第一,明确总表与分表的定位和使用规范。总表仅用于展示汇总数据,分表用于存储各类明细数据,比如资助生数据、银行数据、病事假请假数据、春游(秋游)人员数据等。总表可通过vlookup函数与各分表建立关联,后续需要修改数据时,只需修改对应分表的内容,总表会自动同步更新,无需重复修改,大大减少了出错概率和工作量。
第二,做好每月多收退费统计及结转表的整理和留存。建议将每月的多收退费统计、结转表统一整理在同一个Excel文件中,按月份建立不同的工作表,便于后续查询和核对。期末汇总统计时,只需将各月份的数据进行对比,就能快速发现数据异常或遗漏的地方,提高核对效率。
第三,关注病事假统计的细节问题。目前使用的病事假统计表本身已经比较完善,正常填写情况下不易出错,主要问题集中在班主任忘记按时上报相关信息——尽管每周一都会提醒,但仍有遗漏情况。另外,今年使用智能体进行统计时,出现了个别错别字的问题:手动填写时,系统会对错误信息进行校验,无法正常提交,但通过api接口填写时,没有设置错别字检测功能,有时会出现错别字,且系统偶尔会出现小绿标提示错误,偶尔又没有,这种情况比较特殊,后续需要重点留意并优化。
最后,总表完成后,需要将相关信息同步给财务和各班主任。这里推荐两个实用工具,能够快速将总表中的信息按班级分类,自动填充到对应的模板文件中,操作方便快捷,有效节省了信息同步的时间和精力。


import pandas as pdimport osfrom openpyxl import load_workbookfrom openpyxl.styles import Alignment, Font, Border, Side, PatternFilldef process_class_data(input_file, template_file, output_dir): # 读取Excel文件 df = pd.read_excel(input_file) # 创建班级字典存储分组数据 class_dict = {} # 处理每一行数据 for index, row in df.iterrows(): remark = str(row['备注']) # 提取班级信息和姓名 if len(remark) >= 3 and remark[:3].isdigit(): grade = remark[0] # 年级 class_num = remark[1:3] # 班级号 name = remark[3:] # 姓名 # 创建班级唯一标识 class_id = f"{grade}_{class_num}" # 添加到班级字典 if class_id not in class_dict: class_dict[class_id] = [] class_dict[class_id].append({ '班级': row['班级'], '姓名': row['姓名'], '中餐': row['中餐'], '晚餐': row['晚餐'], '总退费': row.get('金额', ''), # 使用get方法防止列不存在 '开卡人姓名': row.get('员工账户姓名', ''), '卡号': row.get('员工账号', ''), '行内/行外': row.get('员工银行类别', '') }) # 为每个班级创建输出文件 for class_id, students in class_dict.items(): grade, class_num = class_id.split('_') # 处理班级号:去除前导零,但保留10班、20班等 class_num_str = class_num.lstrip('0') if class_num != '00' else '0' if class_num_str == '': class_num_str = '0' # 生成班级名称(如"七年级1班") class_name = f"{grade}年级{class_num_str}班" # 加载模板文件 wb = load_workbook(template_file) ws = wb.active # 修改A1单元格内容 ws['A1'] = f" 2025学年秋季学期学生中餐、晚餐 退费名册({grade}{class_num}班)" if grade=="7": ws['A2'].value ="说明:七年级中餐2 " if grade=="8": ws['A2'].value ="说明:八年级中餐1 " if grade=="9": ws['A2'].value ="说明:九年级中餐36 " # 写入表头(如果模板没有) if ws.max_row == 1: # 如果模板只有一行 headers = ['班级', '姓名', '中餐', '晚餐', '总退费', '开卡人姓名', '卡号', '开户银行', '行内/行外'] ws.append(headers) # 写入学生数据 start_row = 4 # 数据从第二行开始(第一行是标题) column_mapping = { '班级': 'A', '姓名': 'B', '中餐': 'C', '晚餐': 'D', '总退费': 'E', '开卡人姓名': 'F', '卡号': 'G', '行内/行外': 'H' } for i, student in enumerate(students[:50]): # 最多取50个学生 row_idx = start_row + i for field, col_letter in column_mapping.items(): cell = ws[f'{col_letter}{row_idx}'] cell.value = student.get(field, '') # 保存文件 output_file = os.path.join(output_dir, f"{class_name}退费名册.xlsx") wb.save(output_file) print(f"已创建班级文件: {output_file}")# 使用示例if __name__ == "__main__": input_excel = "总.xlsx" # 替换为实际文件路径 template_file = "退费模版2.xlsx" # 空白模板文件路径 output_directory = "退费名册" # 输出目录 # 创建输出目录(如果不存在) os.makedirs(output_directory, exist_ok=True) process_class_data(input_excel, template_file, output_directory)
import pandas as pdimport osfrom openpyxl import load_workbookfrom openpyxl.styles import Alignment, Font, Border, Side, PatternFillfrom copy import copydef process_class_data(input_file, template_file, output_dir): # 读取Excel文件 df = pd.read_excel(input_file) # 创建班级字典存储分组数据 class_dict = {} # 处理每一行数据 for index, row in df.iterrows(): remark = str(row['备注']) # 提取班级信息和姓名 if len(remark) >= 3 and remark[:3].isdigit(): grade = remark[0] # 年级 class_num = remark[1:3] # 班级号 name = remark[3:] # 姓名 # 创建班级唯一标识 class_id = f"{grade}_{class_num}" # 添加到班级字典 if class_id not in class_dict: class_dict[class_id] = [] class_dict[class_id].append({ '姓名': name, '中餐': row['中餐'], '晚餐': row['晚餐'] }) # 为每个班级创建输出文件 for class_id, students in class_dict.items(): grade, class_num = class_id.split('_') class_name = f"{grade}年级{class_num.lstrip('0')}班" if class_num != '00' else f"{grade}年级0班" # 加载模板文件 wb = load_workbook(template_file) ws = wb.active ws['A1'] = f"2025学年秋季学期{class_name}中晚餐退费汇总" # 写入前25个数据 for i, student in enumerate(students[:25]): row_idx = 5 + i # 从第5行开始 # 姓名 (B列) if row_idx <= 29: # 不超过29行 cell = ws[f'B{row_idx}'] cell.value = student['姓名'] cell.alignment = Alignment(horizontal='center', vertical='center') # 中餐 (C列) if row_idx <= 29: cell = ws[f'C{row_idx}'] cell.value = student['中餐'] cell.alignment = Alignment(horizontal='center', vertical='center') # 晚餐 (D列) if row_idx <= 29: cell = ws[f'D{row_idx}'] cell.value = student['晚餐'] cell.alignment = Alignment(horizontal='center', vertical='center') # 写入后25个数据 for i, student in enumerate(students[25:50]): # 最多取50个学生 row_idx = 5 + i # 从第5行开始 # 姓名 (H列) if row_idx <= 29: cell = ws[f'H{row_idx}'] cell.value = student['姓名'] cell.alignment = Alignment(horizontal='center', vertical='center') # 中餐 (I列) if row_idx <= 29: cell = ws[f'I{row_idx}'] cell.value = student['中餐'] cell.alignment = Alignment(horizontal='center', vertical='center') # 晚餐 (J列) if row_idx <= 29: cell = ws[f'J{row_idx}'] cell.value = student['晚餐'] cell.alignment = Alignment(horizontal='center', vertical='center') # 保存文件 output_file = os.path.join(output_dir, f"{class_name}.xlsx") wb.save(output_file) print(f"已创建班级文件: {output_file}")# 使用示例if __name__ == "__main__": input_excel = "总.xlsx" # 替换为实际文件路径 template_file = "空白2.xlsx" # 空白模板文件路径 output_directory = "报销名册" # 输出目录 # 创建输出目录(如果不存在) os.makedirs(output_directory, exist_ok=True) process_class_data(input_excel, template_file, output_directory)
其他一些繁琐工作就不多说了,就这样了,休息了,放假。