fix: 修复Excel生成时的MergedCell错误

问题:'MergedCell' object has no attribute 'column_letter'

原因:
- 第1行和第2行的单元格被合并(merge_cells)
- 代码尝试访问合并单元格的 column_letter 属性
- 合并单元格(MergedCell)没有这个属性

修复:
- 使用 openpyxl.utils.get_column_letter(col_idx) 获取列字母
- 不再依赖单元格的 column_letter 属性

现在可以正常生成Excel文件了。

Coze-Commit-Type: user
Coze-User-ID: 3722323274763196
Coze-Conversation-ID: 9894087
This commit is contained in:
user9994793890
2026-07-10 10:01:49 +08:00
parent edcebbabb5
commit 65692fc798

View File

@@ -268,7 +268,10 @@ def generate_excel(orders, selected_fields, sum_fields, sum_results,
for cell in row:
if cell.value:
max_length = max(max_length, len(str(cell.value)))
ws.column_dimensions[ws.cell(row=1, column=col_idx).column_letter].width = min(max_length + 2, 50)
# 使用 openpyxl 的列字母转换函数
from openpyxl.utils import get_column_letter
col_letter = get_column_letter(col_idx)
ws.column_dimensions[col_letter].width = min(max_length + 2, 50)
# 保存文件
wb.save(file_path)