Sha256: 89bcb0663b1a1bef53ec48219ae883fc15b33f37e0ea65d6c8a170b6ca313103
Contents?: true
Size: 1.08 KB
Versions: 53
Compression:
Stored size: 1.08 KB
Contents
require 'stringio' require 'spreadsheet' module Para module Exporter class Xls < Table protected def extension '.xls' end def name 'export' end def mime_type 'application/vnd.ms-excel' end def binary? true end def generate generate_workbook do |workbook| sheet = workbook.create_worksheet # Add headers sheet.row(0).concat headers # Add content rows resources.each_with_index do |resource , index| sheet.row(index + 1).concat row_for(resource) end end end def generate_workbook(&block) workbook = Spreadsheet::Workbook.new block.call(workbook) buffer = StringIO.new workbook.write(buffer) buffer.rewind buffer.read end def fields fail NotImplementedError end def encode(string) string.presence && string.to_s.encode('UTF-8', invalid: :replace, undef: :replace, replace: '?') end end end end
Version data entries
53 entries across 53 versions & 1 rubygems