2016-09-26 19 views
1

我使用axlsx宝石创建一个XLSX文件,并在我的下面一行代码:如何在使用axlsx gem执行.add_row之后获取行索引?

ws.add_row("xyz") 

有没有办法让刚加入我行的行索引?我可能需要稍后添加一行。

+0

请阅读“[问]”,包括链接的页面和“[mcve]”。请添加展示你正在做的事情的最低代码。这听起来像是在逐步添加行,但将更改存储在数组中可能更容易,然后处理数组并将它们一次性添加。使用数组可以在提交数据之前轻松添加/更改/删除。 –

+2

是的,您可以在'add_row'之后使用'ws.rows.last.index'来获取该行的索引。请注意,行的索引从零开始,因为ruby使用零索引,但excel使用从1开始的索引,因此取决于您打算如何使用此索引,您可能需要向索引添加+1。 – engineersmnky

+0

谢谢engineermnky! – Evilmuffin

回答

1
wb = xlsx_package.workbook 

wb.add_worksheet(name: 'sheet 1') do |sheet| 
    sheet.add_row ['foo', 'bar'] 
    my_first_row = sheet.add_row ['aladdin', 'rules'] 
    my_second_row = sheet.add_row ['hello', 'world'] 

    sheet.rows.index(my_first_row) # will return 1 
    sheet.rows.index(my_second_row) # will return 2 
end 
相关问题