如何使用rubyxl访问第一行

时间:2016-10-17 18:02:23

标签: ruby-on-rails rubyxl

workbook = RubyXL::Parser.parse(params[:file].path)  
worksheet = workbook[0]
puts worksheet.sheet_data[0][0]

但我将此作为输出

<RubyXL::Cell(0,0): "0", datatype="s", style_index=1>

我的excel表格是这种形式

    name    coupon
    gates   gates1234
    jobs    jobs1234

我想逐个访问行..任何帮助将不胜感激。

如果你想运行它,我也为这篇文章制作了一个示例应用程序..

https://github.com/vamsipavanmahesh/example-excel-reader

3 个答案:

答案 0 :(得分:1)

worksheet.sheet_data[0]
为您提供代表第一行的Ruby对象。

worksheet.sheet_data[0][0]
为您提供一个Ruby对象,表示第一行的第一个单元格。但要获取该单元格的实际内容,您需要
worksheet.sheet_data[0][0].value

工作表被组织为一个单元格数组。如果要按顺序处理行,则必须逐行处理单元格。

答案 1 :(得分:0)

worksheet.extract_data

为您提供整个表格行

worksheet.extract_data[0]

给你第一行

答案 2 :(得分:0)

worksheet[0].cells.map(&:value)为我工作

我正在尝试worksheet.extract_data[0],但是 extract_data 在RubyXL中不再可用(我使用v.3.3.3)!