title: openpyxl python3 -- formatting whole rows ellicits strange behavior
body: <p>I'm working with pivot-tabled XLSX files and writing a script to parse them out in to a new file per tab. </p>
  
  <p>Since openpyxl doesn't support pivot tables by default I need to do some work to reinsert the pivot 'style' that is lost during copy. </p>
  
  <p>To do this I'm iterating through each row and col, looking for the value <code>Total</code> in column 0. Once found, the row should change to be all <code>bold=True</code>.</p>
  
  <p>Instead, I receive erratic behavior that sometimes bolds ALL cells after the first <code>None</code>. My <code>print('bolding totals')</code> message shows that it is evaluating each row/cell correctly. Am I bone-headed and screwing up my indents on the loops, perhaps?</p>
  
  <pre><code>from openpyxl import Workbook
  from openpyxl import load_workbook
  from copy import deepcopy
  
  wb = load_workbook(filename=r'input.xlsx')
  
  # Print 1
  sheetlist = wb.get_sheet_names()
  print(sheetlist)
  
  for i in range(len(sheetlist)-1):
      dest_filename = r''+sheetlist[i]+'.xlsx'
      new_wb = Workbook()
      ws = wb.get_sheet_by_name(sheetlist[i])
      new_wb.add_sheet(ws, 0)
  
      for k in range(0, new_wb.worksheets[0].get_highest_row()):
          print(new_wb.worksheets[0].cell(row=k, column=0).value)
          # ignore empty cells
          if new_wb.worksheets[0].cell(row=k, column=0).value is not None:
              if 'Total' in new_wb.worksheets[0].cell(row=k, column=0).value:
                  for j in range(0, new_wb.worksheets[0].get_highest_column()):
                      print('bolding totals, '+str(k), str(j))
                      new_wb.worksheets[0].cell(
                          row=k, column=j).style.font.bold = True
              elif 'Total' not in new_wb.worksheets[0].cell(row=k, column=0).value:
                  for j in range(0, new_wb.worksheets[0].get_highest_column()):
                      print('not bolding anything')
                      new_wb.worksheets[0].cell(
                          row=k, column=j).style.font.bold = False
  
      # remove the blank sheet created in new_wb by openpyxl
      new_wb.remove_sheet(new_wb.get_sheet_by_name('Sheet'))
      print(new_wb.get_sheet_names())
      new_wb.save(dest_filename)
      break  # set to break after one sheet for testing
  
  print('finished')
  </code></pre>
  
  <hr>
  
  <p>At this point I suspect this is a bug in the openpyxl handling of styles. I ran another very simple edit and got strange behavior.</p>
  
  <p>If we have a simple layout with bold/nonbold cells.
  Then we run this simple command to change one cell:</p>
  
  <pre><code>&gt;&gt;&gt; new_wb.worksheets[0].cell(row=10,column=0).style.font.bold = False
  </code></pre>
  
  <p>The output changes for the entire column, not the cell alone.</p>