Rails AXLSX gem尝试合并创建的最后一行的单元格

Cat*_*ish 3 ruby excel ruby-on-rails-3 axlsx

我有一个axlsx文件,其中有一些创建行的逻辑.我在那里检查,当满足某个条件时,我想合并创建的最后一个单元格.我怎样才能做到这一点?

我已经看到如何合并单元格的唯一方法是指定要合并的单元格,如下所示:

sheet.merge_cells "A2:B2"
Run Code Online (Sandbox Code Playgroud)

但如果我有动态工作表,我如何合并最后一行创建的单元格?

ran*_*dym 6

Axlsx merge_cells接受一个字符串,如您的示例或单元格数组.在这种程度上,您可以使用rows,cols及其单元格集合来查找,并传入要合并的单元格数组.

就像是:

sheet.merge_cells sheet.rows.last.cells
Run Code Online (Sandbox Code Playgroud)

作为参考,这是关于Worksheet#merge_cell的文档

# Creates merge information for this worksheet.
# Cells can be merged by calling the merge_cells method on a worksheet.
# @example This would merge the three cells C1..E1    #
#        worksheet.merge_cells "C1:E1"
#        # you can also provide an array of cells to be merged
#        worksheet.merge_cells worksheet.rows.first.cells[(2..4)]
#        #alternatively you can do it from a single cell
#        worksheet["C1"].merge worksheet["E1"]
# @param [Array, string] cells
def merge_cells(cells)
  merged_cells.add cells
end
Run Code Online (Sandbox Code Playgroud)