Method: Roo::Excelx::Workbook#base_date

Defined in:
lib/roo/excelx/workbook.rb

#base_dateObject



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/roo/excelx/workbook.rb', line 45

def base_date
  @base_date ||=
  begin
    # Default to 1900 (minus one day due to excel quirk) but use 1904 if
    # it's set in the Workbook's workbookPr
    # http://msdn.microsoft.com/en-us/library/ff530155(v=office.12).aspx
    result = Date.new(1899, 12, 30) # default
    doc.css('workbookPr[date1904]').each do |workbookPr|
      if workbookPr['date1904'] =~ /true|1/i
        result = Date.new(1904, 01, 01)
        break
      end
    end
    result
  end
end