2016-09-26 59 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 
相關問題