Sha256: 1f79e5a9d514c9406e2f9c54ecf6dcee48775d49a09b82aad6152bebbc667dbb
Contents?: true
Size: 644 Bytes
Versions: 7
Compression:
Stored size: 644 Bytes
Contents
require 'arc-furnace/sink' module ArcFurnace class ExcelSink < Sink private_attr_reader :filename, :fields, :types, :package, :workbook, :worksheet def initialize(filename: , fields:, types: nil) @filename = filename @fields = fields @package = Axlsx::Package.new @workbook = package.workbook @worksheet = workbook.add_worksheet(name: 'Sheet1') @types = types ? types : [] worksheet.add_row(fields) end def finalize package.serialize(filename) end def row(hash) worksheet.add_row(fields.map { |field_id| hash[field_id] }, types: types) end end end
Version data entries
7 entries across 7 versions & 1 rubygems