|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
D:\PYTHON_NEW\pythonProject\.venv\Scripts\python.exe "D:\PYTHON_NEW\pythonProject\提取python excel\11增加单元格数据 测试生成管线对应的工艺卡的填充数据.py"
Traceback (most recent call last):
File "D:\PYTHON_NEW\pythonProject\提取python excel\11增加单元格数据 测试生成管线对应的工艺卡的填充数据.py", line 86, in <module>
copy_template_to_new_file(pipeline_number, template_file, target_folder)
File "D:\PYTHON_NEW\pythonProject\提取python excel\11增加单元格数据 测试生成管线对应的工艺卡的填充数据.py", line 59, in copy_template_to_new_file
sheet3['A8'] = 11
~~~~~~^^^^^^
File "D:\PYTHON_NEW\pythonProject\.venv\Lib\site-packages\openpyxl\worksheet\worksheet.py", line 317, in __setitem__
self[key].value = value
^^^^^^^^^^^^^^^
AttributeError: 'MergedCell' object attribute 'value' is read-only
Process finished with exit code 1
--------------
对合并单元格,不允许编辑数据。
可以对左上角赋值,这样就不会报错了~
- import openpyxl
- def write_xlsx(xlsx_file):
- workbook = openpyxl.load_workbook(xlsx_file)
- sheet = workbook['Sheet1']
- # 获取合并单元格信息
- merged_cells = sheet.merged_cells.ranges
- # 检查单元格是否为合并单元格,并对左上角单元格赋值
- cell_address = 'F5'
- if any([cell_address in merged_cell for merged_cell in merged_cells]):
- # 获取合并区域
- for merged_cell in merged_cells:
- if cell_address in merged_cell:
- # 对左上角单元格赋值
- top_left_cell = merged_cell.min_row, merged_cell.min_col
- sheet.cell(row=top_left_cell[0], column=top_left_cell[1], value="是合并的单元格,测试赋值,嘿嘿~")
- break
- else:
- sheet[cell_address] = "不是合并的单元格"
- output_path = f"test_output.xlsx"
- workbook.save(output_path)
- write_xlsx("test.xlsx")
复制代码
|
|