Sha256: 8c416bf06f0b5ed3977c603e1ec659aa02fdcf37f71cdfde81ac32ee1c1e76d6

Contents?: true

Size: 858 Bytes

Versions: 2

Compression:

Stored size: 858 Bytes

Contents

require 'axlsx'
module DocParser
  # The XLSXOutput class generates Microsoft Excel compatible .xlsx files
  # using the great axslx library
  # @see Output
  class XLSXOutput < Output
    # @!visibility private
    def open_file
      @package = Axlsx::Package.new
      @package.workbook.date1904 = false # Fix for OS X
      @package.use_shared_strings = true # Fix for Numbers
      @sheet = @package.workbook.add_worksheet
      @file.close
    end

    def header
      write_row @header
    end

    def write_row(row)
      @sheet.add_row row
    end

    def footer
      unless @header.nil?
        @sheet.add_table "A1:#{@sheet.cells.last.r}", name: 'Data'
      end
      @package.serialize @filename
    end

    def rowcount
      if @header.nil?
        @sheet.rows.length
      else
        @sheet.rows.length - 1
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
docparser-0.2.3 lib/docparser/output/xlsx_output.rb
docparser-0.2.2 lib/docparser/output/xlsx_output.rb