Old date is saved as a random negative number in Excel file
If a date is very old, and you save the dataframe as an Excel file, pandas will save a random negative number instead of the actual date. This does not happen if you save it in a csv file. I attach the resulting Excel file for completeness.
[test.xlsx](https://github.com/pandas-dev/pandas/files/3147076/test.xlsx)


#### Code Sample, a copy-pastable example if possible

```python
import pandas
import datetime
mydate = datetime.date(1800,10,1)
df = pandas.DataFrame({"Dates":[mydate]})
df.to_excel("test.xlsx", sheet_name="Results", index=False)
```
#### Problem description

It's a problem because the data is not saved correctly. Instead of a date, a reandom negative number is saved. 

#### Expected Output

An excel file with the data saved correctly

#### Output of ``pd.show_versions()``

<details>

[paste the output of ``pd.show_versions()`` here below this line]
>>> pandas.show_versions()

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.8.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.24.1+0.g1700680.dirty
pytest: None
pip: 10.0.1
setuptools: 39.0.1.post20190227
Cython: 0.29.3
numpy: 1.16.1
scipy: 1.2.0
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.6.0
pytz: 2018.4
blosc: None
bottleneck: None
tables: None
numexpr: 2.6.8
feather: None
matplotlib: 3.0.1
openpyxl: 2.6.2
xlrd: 1.2.0
xlwt: None
xlsxwriter: None
lxml.etree: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
gcsfs: None
</details>
