2

ExcelXLSスプレッドシートからいくつかのデータをインポートしようとしています。

以前はCSVファイルのみを操作したことがあり、ヘッダーである最初の行をスキップする方法を知っています。

XLSファイルでそれを行う方法は?

私はこのコードを持っています:

require 'spreadsheet'
ook = Spreadsheet.open("/#{Rails.public_path}/uploads_prices/"+name)
book.worksheets.each do |sheet|
      sheet.each do |row|
*****

ヘッダーである最初のエントリをスキップするにはどうすればよいですか?

4

2 に答える 2

4

ドキュメントから:「(...)最初に省略すべき行数をワークシートに伝えることができます。次の行は、その行または前の行にデータが含まれているかどうかに関係なく、3行目から始まります。」

sheet2.each 2 do |row|
  # do something interesting with a row
end

したがって、この場合、以下が機能するはずです。

book.worksheets.each do |sheet|
  sheet.each 1 do |row|
    #...
于 2013-01-21T21:52:12.297 に答える
1

試す:

book.worksheets.each do |sheet|
  sheet[1..-1].each do |row|
    ...

[1..-1]反復する配列または列挙可能なスライスを使用しsheet.eachて、 の最初の値をスキップし[0]、残りをすべて返します。

于 2013-01-21T21:39:10.180 に答える