Sha256: 150d62a283bbd5158917d4d8ca14ce12cbe145936ab9b1aa9fb42fc8b465d8e9

Contents?: true

Size: 729 Bytes

Versions: 428

Compression:

Stored size: 729 Bytes

Contents

require 'spreadsheet'
require 'rbbt/tsv'
require 'rbbt/util/tmpfile'

module TSV
  def self.excel2tsv(file, options = {})
    sheet = options.delete :sheet
    header = options.delete :header
    header = true unless header == false
    sheet ||= 0
    TmpFile.with_file do |filename|
      workbook = Spreadsheet.open Open.open(file)
      sheet    = workbook.worksheet sheet

      rows = []

      sheet.each do |row|
        rows << row.values_at(0..(row.size - 1))
      end

      File.open(filename, 'w') do |f|
        if header
          header = rows.shift
          f.puts "#" + header * "\t"
        end

        rows.each do |row| f.puts row * "\t" end
      end

      TSV.open(filename, options)
    end
  end
end

Version data entries

428 entries across 428 versions & 1 rubygems

Version Path
rbbt-util-5.21.56 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.55 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.54 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.53 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.51 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.50 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.49 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.47 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.46 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.45 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.44 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.43 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.42 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.39 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.38 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.37 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.36 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.35 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.34 lib/rbbt/util/excel2tsv.rb
rbbt-util-5.21.33 lib/rbbt/util/excel2tsv.rb