我想写一个这样的表:
----------------
| Long Cell |
----------------
| 1 | 2 |
----------------
如何编写单元格Long Cell
?谢谢。
我试着这样做:
sheet.write(0, 0, 'Long Cell')
sheet.write(1, 0, 1)
sheet.write(1, 1, 2)
但它最终是这样的:
--------------------
| Long Cell | |
--------------------
| 1 | 2 |
--------------------
发布于 2013-10-30 11:26:35
据我所知,这是没有文档记录的-你必须阅读源代码才能找到它。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.
但对于像这样的简单案例来说,这是可以接受的。
https://stackoverflow.com/questions/19672760
复制相似问题