You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python在Excel中动态为每列末尾添加合计值?

你现有代码里已经维护了userrowno变量记录当前写入的行号,每写完一行数据就+1,遍历完所有results数据后,userrowno天然就是合计行的行索引,不需要额外计算动态行数,直接基于这个变量写入即可。

具体实现代码可以加在你现有for item in results:循环结束之后,示例如下:

# 前面保留你原有遍历results写入数据的逻辑不变
for item in results:
    titleformat = book.add_format({'bold': True, 'align': 'center'})
    center      = book.add_format({'align' : 'center'})
    # 原有单元格写入、列宽设置逻辑不变
    # ...
    userrowno = userrowno + 1

# 以下是新增的合计行写入逻辑
# 直接复用你已定义的格式即可,也可以单独定义合计行专属格式
total_format = titleformat
num_format = center

# 写入TOTAL文本,放在User列(索引为1)的合计行位置
usersheet.write(userrowno, 1, "TOTAL", total_format)

# 从SVN Commits列(索引为3)开始到Gerrit Review列(索引为6)批量写入求和公式
for col_idx in range(3, 7):
    # Excel行号从1开始,表头占第1行,所以数据起始行对应Excel行号为2
    excel_start_row = 2
    # 合计行的上一行对应Excel行号为userrowno(Python行索引从0开始,userrowno是合计行的Python索引)
    excel_end_row = userrowno
    # 拼接求和公式,用xlsxwriter内置工具转换列索引为Excel列字母
    from xlsxwriter.utility import xl_col_to_name
    sum_formula = f"=SUM({xl_col_to_name(col_idx)}{excel_start_row}:{xl_col_to_name(col_idx)}{excel_end_row})"
    usersheet.write_formula(userrowno, col_idx, sum_formula, num_format)

如果后续需要调整统计的列范围,只需要修改range的起止索引即可,完全适配不同长度的数据集。

内容的提问来源于stack exchange,提问作者vesir97

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 09:06:01