adding charts to a workbook created with dataframe.to_excel() results in a corrupt workbook
#### Code Sample, a copy-pastable example if possible

```python
import io
import pandas as pd
from openpyxl.chart import ScatterChart, Reference, Series


writer = pd.ExcelWriter("out.xlsx", engine='openpyxl')

x_data = ["x_data", 0, 3.75, 7.5, 11.25, 15, 15, 15.5, 16, 16.5, 17, 17,
          22, 27, 32, 37, 37, 71, 105, 139, 173, 173, 178, 183, 188, 193,
          193, 193.5, 194, 194.5, 195, 195, 198.75, 202.5, 206.25, 210]
x_data = [str(i) for i in x_data]
x_data_buffer = io.StringIO("\n".join(x_data))

y_data = ["y_data", -2704.92, -2704.75, -2704.59, -2704.43, -2704.26,
          -5595.72, -5595.69, -5595.67, -5595.65, -5595.63, 843.285,
          843.503, 843.722, 843.94, 844.159, 13.8079, 15.294, 16.78,
          18.266, 19.7521, 9.42089, 9.63942, 9.85795, 10.0765, 10.295,
          -5548.31, -5548.29, -5548.27, -5548.24, -5548.22, -1372.58,
          -1372.42, -1372.26, -1372.09, -1371.93]
y_data = [str(i) for i in y_data]
y_data_buffer = io.StringIO("\n".join(y_data))

x_data = pd.read_csv(x_data_buffer)
y_data = pd.read_csv(y_data_buffer)

data = pd.concat([x_data, y_data], axis=1)

# Excel interaction below:
data_rows = len(data.index)

# Send dataframe to excel
data.to_excel(writer, sheet_name="sheet1", startcol=0, startrow=3)
ws = writer.sheets["sheet1"]  # worksheet

# Add Graph
chart_1 = ScatterChart()  # first y axis
chart_1.style = 13
x_values = Reference(ws, min_col=2, min_row=5, max_row=4 + data_rows)
y_values = Reference(ws, min_col=3, min_row=4, max_row=4 + data_rows)
chart_1.series.append(Series(y_values, x_values, title_from_data=True))
chart_1.width = 30
chart_1.height = 15

ws.add_chart(chart_1, "L6")  # insert graph in cell L6

# Save workbook
writer.save()  # Using this after adding a chart causes the workbook to be corrupt
writer.close()

#wb = writer.book  # Using the internal pyopenxl save and close methods works correctly
#wb.save("out.xlsx")
#wb.close()
```
#### Problem description

When adding charts to an excel workbook created using the DataFrame.to_excel() method (using pyopenxl as the writer) the created workbook is corrupt, and often is unrecoverable by excel.

by accessing the openpyxl save and close methods using writer.book.save instead of writer.save, the workbook can be opened by excel with no issues. Using the openpyxl save method, and the writer.close method in conjucntion with each other also causes a corrupt workbook to be produced.

[related issue on openpyxl dev platform](https://bitbucket.org/openpyxl/openpyxl/issues/886/using-scatter-charts-corrupts-the-excel#comment-39603120)

#### Expected Output

Update the ExcelWriter.save and ExcelWriter.close methods so that they do not produce corrupt workbooks when adding charts using the openpyxl engine.

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

<details>
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.1.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: AMD64 Family 21 Model 2 Stepping 0, AuthenticAMD
byteorder: little
LC_ALL: None
LANG: en
LOCALE: None.None

pandas: 0.20.1
pytest: 3.0.7
pip: 9.0.1
setuptools: 27.2.0
Cython: 0.25.2
numpy: 1.12.1
scipy: 0.19.0
xarray: None
IPython: 5.3.0
sphinx: 1.5.6
patsy: 0.4.1
dateutil: 2.6.0
pytz: 2017.2
blosc: None
bottleneck: 1.2.1
tables: 3.2.2
numexpr: 2.6.2
feather: None
matplotlib: 2.0.2
openpyxl: 2.4.7
xlrd: 1.0.0
xlwt: 1.2.0
xlsxwriter: 0.9.6
lxml: 3.7.3
bs4: 4.6.0
html5lib: 0.999
sqlalchemy: 1.1.9
pymysql: None
psycopg2: None
jinja2: 2.9.6
s3fs: None
pandas_gbq: None
pandas_datareader: 0.5.0
</details>
