Excel хранит даты как количество дней с 30 декабря 1899 года, поэтому для преобразования числа в дату и обратно нужно просто рассчитать количество дней между 30 декабря 1899 года и датой после , То, как вы это сделаете, зависит от того, на каком именно языке вы работаете, но для C #, например, будет работать следующее:
var epoch = new DateTime(1899, 12, 30);
int number = 40074;
var date = epoch.AddDays(number);
Console.WriteLine(date);
var date = new DateTime(1987, 5, 3);
int number = (int) date.Subtract(epoch).TotalDays;
Console.WriteLine(number);
(Если вам интересно, почему эпоха 30/12/1899, это потому, что фактическая эпоха должна быть 01.01.1900, но Excel ошибочно полагает, что 1900 год был високосным)