title: pandas to_excel() method forces scientific notation on int64 columns when viewed in Excel
body: <p>I'm using this code to save a dataframe to excel: </p>
  
  <pre><code>    writer = pd.ExcelWriter(self.file_name, engine='openpyxl')
      writer.book = workbook
      writer.sheets = dict((ws.title, ws) for ws in workbook.worksheets)
      df.to_excel(writer, sheet_name=sheet_name, columns=columns, header=True, index=False, startrow=11, startcol=0)
      writer.save()
  </code></pre>
  
  <p>unfortunately any column with a large int64 dtype comes out looking like this:</p>
  
  <p><a href="https://i.stack.imgur.com/dek67.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/dek67.jpg" alt="enter image description here"></a></p>
  
  <p>Within Pandas I am suppressing scientific notation by doing the following:</p>
  
  <pre><code>pd.set_option('display.float_format', lambda x: '%.f' % x) 
  pd.set_option('display.precision', 0)
  </code></pre>
  
  <p>So when I print the dataframe the int64 columns look like this:</p>
  
  <p><a href="https://i.stack.imgur.com/cxVBT.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cxVBT.jpg" alt="enter image description here"></a></p>
  
  <p>I have tried converting the column to str type like so: </p>
  
  <pre><code>    def convert_int_cols_to_str(df):
          dtypes = df.dtypes
          for col, dtype in dtypes.iteritems():
              if dtype == 'int64':
                  df[col] = df[col].astype(str)
  </code></pre>
  
  <p>After this applying this the dtypes for these columns show as object instead of int64 but still display in scientific notation within Excel. 
  Any ideas on how to avoid this would be greatly appreciated!</p>
  
  <p>Here are the versions I am using of the relevant packages:</p>
  
  <pre><code>openpyxl==2.5.9
  pandas==0.20.3
  </code></pre>