…orksheet take on local timezone offset which doesn't seem right. Will have to revisit.
Excel files created on the mac use 1904 date windowing. This bug caused dates in these files to be incorrectly interpretted as 4 years earlier. Since POI doesn't seem to publicly expose whether or not a workbook is usnig 1904 date windowing, the solution was to use the built-in method get_date_cell_value. I had a hard time understanding the motivation for the complexity of the logic that was in cell.rb for retrieving value, so I refactored it to be quite a bit simpler. It passes the specs and I believe it to be functionally equivalent, but it's possible there may be a few untested edge cases that may have changed behavior. For information on getting the proper date on 1904 date windowed files, see: http://apache-poi.1045710.n5.nabble.com/Detecting-1904-date-windowing-in-a-given-file-td3245881.html (original: http://mail-archives.apache.org/mod_mbox/poi-user/201011.mbox/%3c910F03AE-4AFC-49F6-8220-3F4AB5B6002D@jmlafferty.com%3e)