当我尝试在现有的.xlsx文件中填充单元格,然后将其保存为新的单元格时,我收到消息:
import openpyxl
path = "/home/karol/Dokumenty/wzor.xlsx"
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
new_protokol = sheet_obj
firma = input("Podaj nazwe: ")
nazwa_pliku = "Protokol odczytu"
filename = nazwa_pliku + firma + ".xlsx"
sheet_obj["C1"] = firma
sheet_obj["D1"] = input()
new_protokol.save(filename=filename)
Traceback (most recent call last):
File "/home/karol/PycharmProjects/Protokolu/Main.py", line 16, in <module>
sheet_obj["C1"] = firma
File "/home/karol/PycharmProjects/Protokolu/venv/lib/python3.7/site-packages/openpyxl/worksheet/worksheet.py", line 309, in __setitem__
self[key].value = value
AttributeError: 'MergedCell' object attribute 'value' is read-only
Process finished with exit code 1
如何修复它?
发布于 2020-12-10 01:09:55
合并单元格时,除左上角的单元格以外的所有单元格都将从工作表中删除。为了携带合并像元的边界信息,合并像元的边界像元被创建为始终具有值'None'
的MergeCells
ws.merge_cells('B2:F4')
top_left_cell = ws['B2']
top_left_cell.value = "My Cell"
请尝试这种方法,它会很好地为您工作。
发布于 2021-07-15 13:09:43
我也遇到了这个错误。我删除了当前的Excel文件,并将其替换为一个良好的Excel文件,然后错误消失了。
发布于 2020-06-19 08:00:53
要写入合并单元格,必须写入左上角的单元格。错误就不会出现了。
ws['I6']="123123123"
wb.save(filename=path....)
https://stackoverflow.com/questions/59663517
复制相似问题