Sha256: 1c999e7ef16dfbca4f61de4a81b8f7b35cde12b62ecfe64f8ee230a74780b566

Contents?: true

Size: 729 Bytes

Versions: 1

Compression:

Stored size: 729 Bytes

Contents

require 'rbbt/util/tsv'
require 'rbbt/util/open'
require 'spreadsheet'

class 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.new(filename, options)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rbbt-util-1.1.0 lib/rbbt/util/excel2tsv.rb