据我所知,这没有记录 - 你必须阅读源代码才能找到它。类上有两种方法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.
但对于这样一个简单的案例来说,它会很好。