в VBA я могу добавить формулу с адресом относительно "текущей ячейки". Например, если я пишу (в коде VBA):
cells(2,2).formulaR1C1 = "=RC[4]"
Тогда формула в ячейке B2 будет "= F2", потому что столбец B + 4 (столбцы) будет столбцом F.
В OpenPyXL я не могу использовать стиль = RC [x]. Каковы мои альтернативные способы написания относительной ссылки (адрес ячейки) в ячейке рабочего листа?
Длинным вариантом будет, чтобы вычислить адрес и добавить его. например
col = 2
row = 2
letter = column_letter(col + 4)
address = letter + str(row)
cell(x,y) = "=" + address
есть ли еще один модуль записи питона, который поддерживает нотацию R1C1? Я пытаюсь это сделать, но это не общая тема.
В OpenPyXL существует ли более короткий способ добавления относительных ссылок?
(У меня есть сотни таких ссылок внутри формул.)
openpyxl сама по себе не заботится о том, что вы вкладываете в формулы, чтобы вы могли просто использовать то, что у вас есть. В противном случае начните с изучения источника рабочего листа, который у вас есть. Кроме того, у ячейки есть метод смещения, который получит openpyxl, чтобы выполнить поиск для вас:
ref = cell.offset(row=2, column=-5).coordinate
refMode
в'R1C1'
при открытии книги?