Hi,
Excel is wrong.
This is a mistake from date calculation Excel is doing.
Excel assume that 1900 is a leap year but it is not. (It is a very old bug)
The way the date are encoded in Excel format is a number of day since 1/1/1900.
But due to the wrong assumption in Excel, the date between 1/1/1900 and 2/28/1900 are shifted by 1.
The only solution would be for Marco to assume automatically in the export that any date between 1/1/1900 and 2/28/1900 to reduce the calculated value by 1. Any date before 1900 are treated as a string as Excel do not support date before that point.
See:
https://en.wikipedia.org/wiki/Leap_year_bug :
Microsoft Excel has, since its earliest versions, incorrectly considered 1900 to be a leap year, and therefore that February 29, 1900 comes between February 28 and March 1 of that year. The bug originated from Lotus 1-2-3, and was purposely implemented in Excel for the purpose of backward compatibility. Microsoft has written an article about this bug, explaining the reasons for treating 1900 as a leap year.[6] This bug has been promoted into a requirement in the Ecma Office Open XML (OOXML) specification.[7][8]