Python使用openpyxl无法写入Excel,求指定Java操作Excel代码转Python实现
openpyxl 对应实现代码
import openpyxl def test_actual_results_storing(sheetname: str, rownumber: int, actual_results: str, file_path: str): try: # 加载本地已存在的Excel文件,对应Java代码的输入流读取工作簿逻辑 wb = openpyxl.load_workbook(file_path) # 匹配指定名称的工作表 sheet = wb[sheetname] # 获取指定行,openpyxl行号默认从1开始计数,和Apache POI逻辑一致,直接传入参数即可 row = sheet[rownumber] # 计算当前行最后一个单元格的下一列位置,作为新数据的写入列 next_write_col = row.max_column + 1 # 写入实际结果 row[next_write_col] = actual_results # 保存修改到原文件 wb.save(file_path) wb.close() except Exception as e: print(f"操作失败:{e}")
写入失败常见排查点
- 确保操作的Excel文件没有被WPS、微软Excel等其他程序占用打开,占用状态下无法写入修改
- 核对传入的
rownumber是从1开始计数,而非编程常见的0起始,比如Excel里的第一行对应参数值为1 - 确认
sheetname参数和Excel内的工作表名称完全匹配,大小写、空格、特殊符号都要完全一致 - openpyxl仅支持
.xlsx格式的Excel文件,如果你的文件是旧版.xls格式,需要先转成.xlsx格式再操作,或改用xlutils等其他库
内容的提问来源于stack exchange,提问作者Karthik Manjrekar
相关产品推荐
相关产品推荐

