首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rubyXL遍历xslx中的特定列

rubyXL遍历xslx中的特定列
EN

Stack Overflow用户
提问于 2017-08-18 16:18:50
回答 1查看 2.2K关注 0票数 1

我是ruby和rubyXL的新手,(也许)有一个简单的问题。我有一个用RubyXL解析的Excel文件。

然后,我想将B列中的所有值保存到一个数组中。我不知道该怎么做。也许有人能帮我?

代码语言:javascript
复制
@workbook = RubyXL::Parser.parse(path)
.
.
.
@excelColumnB = Array.new
#only iterate column B (1)    
@workbook.worksheets[0].each[1] { |column|
  column.cells.each { |cell|
    val = cell && cell.value
    excelColumnB.push(val)
    puts val
  }
}
return excelColumnB

我知道这个例子是错误的。我试过很多方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-18 20:29:27

each[1]是您的主要问题。你不能用这种方式索引迭代器,它在语法上是不正确的。block变量包含行,而不是列。

试试这个:

代码语言:javascript
复制
@workbook.worksheets[0].each { |row|
  val = row[1].value
  @excelColumnB << val
  puts val
}

但我推荐一种更简洁的方法来创建数组:

代码语言:javascript
复制
@col_b = workbook.worksheets[0].collect {|row| row[1].value}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45751875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档