Ответ 1
Насколько я могу судить, это не документировано - вам нужно прочитать исходный код, чтобы найти его. Для этого в классе Worksheet
есть два метода: write_merge
и merge
. merge
принимает существующие ячейки и объединяет их, а write_merge
записывает метку (точно так же, как write
), а затем делает то же самое вещество merge
.
Обе ячейки должны слить как r1, r2, c1, c2
и принять необязательный параметр style
.
В вашем примере это будет самый простой вызов:
sheet.write_merge(0, 0, 0, 1, 'Long Cell')
sheet.write(1, 0, 1)
sheet.write(1, 1, 2)
Более подробно о том, как работает звонок:
top_row = 0
bottom_row = 0
left_column = 0
right_column = 1
sheet.write_merge(top_row, bottom_row, left_column, right_column, 'Long Cell')
В качестве альтернативы, используя merge
:
sheet.write(top_row, left_column, 'Long Cell')
sheet.merge(top_row, bottom_row, left_column, right_column)
merge
имеет некоторые комментарии в источнике, указывающие на потенциальные проблемы:
# Problems: (1) style to be used should be existing style of # the top-left cell, not an arg. # (2) should ensure that any previous data value in # non-top-left cells is nobbled. # Note: if a cell is set by a data record then later # is referenced by a [MUL]BLANK record, Excel will blank # out the cell on the screen, but OOo & Gnu will not # blank it out. Need to do something better than writing # multiple records. In the meantime, avoid this method and use # write_merge() instead.
Но это было бы хорошо для простого случая, подобного этому.