如何在xlwt中编写多列的单元格?

我想写一个这样的表格:

---------------- | 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 | -------------------- 

据我所知,这是没有logging – 你必须阅读源代码来find它。 Worksheet类有两个方法来完成这个工作, write_mergemergemerge需要现有的单元格并合并它们,而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. 

但是对于这样一个简单的例子来说就好了。