title: openpyxl error: 'str' object has no attribute 'BLACK'
body: <p>I am trying to set styles on an excel spreadsheet using pythons OPENPYXL module. I keep coming up with this error:</p>
  
  <blockquote>
    <p>'str' object has no attribute 'BLACK'</p>
  </blockquote>
  
  <p>Basically, my code reads a list of known values from a .xlsx file and places them into a python list. I use that list to compare the values in a column from an access table to make sure the values in each cell is correct as compared to the know values. </p>
  
  <p>Where my script blows out is when I try to set styles using openpyxl. For some reason, the above error comes up. The wird thing is, I'm not even using BLACK in the styles anywhere and it seems to error out when I try to set the fill. In the <strong>SearchCursor</strong> portion of the script, it iterates through each row. It's on the second pass, that the script blows out. I have a feeling it wants to overwrite something, but I can't figure out what.</p>
  
  <pre><code>import openpyxl, arcpy
  from arcpy import env
  from openpyxl import Workbook
  
  env.workspace = r"Z:\Access_Tables\Access_Table.gdb"
  
  TableList = []
  for row in arcpy.SearchCursor(r"Z:\Domains\Domains.xlsx\DOMAINS$"):
      TableList.append(row.Code)
  
  
  # Create workbook for report. Openpyxl
  workbook = openpyxl.Workbook()
  ws = workbook.get_active_sheet()
  ws.title = "Test"
  workbook.remove_sheet(ws)
  
  # List out the access tables in the workspace
  for fc in arcpy.ListFeatureClasses():
  
      # Processing SOIL Point access table
      if fc == "SOIL":
  
          # List the column headings from the access table to be applied to the .xlsx table
          fieldnames = [f.name for f in arcpy.ListFields(fc)]    
          # Create Sheet. Openpyxl
          new_sheet = workbook.create_sheet(None,fc)
  
          dictFieldnames = {}
          for num,fname in enumerate(fieldnames):
              dictFieldnames[num] = fname
  
              # Write to cell, openpyxl                 
              new_sheet.cell(None,0,num).value = fname
              col_let = openpyxl.cell.get_column_letter(num + 1)
              new_sheet.column_dimensions[col_let].width = len(fname) + 3
  
          # Process SOIL Field
          if "SOIL" in fieldnames:
  
              # Set a counter and Loop through each row of the access table
              x = 1    
              for row in arcpy.SearchCursor(fc):
  
                  for key, value in dictFieldnames.iteritems():
                      if value == "SOIL":
                          fieldKey = key
  
                  if not row.SOIL or len(row.SOIL.strip()) == 0:
  
                      # Openpyxl write. Set fill and color for cell. Write the unique id to the cell.
                      new_sheet.cell(None,x,fieldKey).style.fill.fill_type = openpyxl.style.Fill.FILL_SOLID
                      new_sheet.cell(None,x,fieldKey).style.fill.start_color.index = openpyxl.style.Color = 'FF808000' 
                      new_sheet.cell(None,x,fieldKey).value = row.OBJECTID
                      x += 1
                      print 'first'
                  elif len(row.INCLUSION_TYPE) not in range(2,5):
  
  
                      # Openpyxl write. Set fill and color for cell. Write the unique id to the cell.
                      new_sheet.cell(None,x,fieldKey).style.fill.fill_type = openpyxl.style.Fill.FILL_SOLID
                      new_sheet.cell(None,x,fieldKey).style.fill.start_color.index = openpyxl.style.Color = 'FF2F4F4F'                     
                      new_sheet.cell(None,x,fieldKey).value = row.OBJECTID                        
                      x += 1
                      print 'second'
                  elif row.SOIL.upper() not in [y.upper() for y in TableList]:
  
  
                      # Openpyxl write.  Set fill and color for cell. Write the unique id to the cell.
                      new_sheet.cell(None,x,fieldKey).style.fill.fill_type = openpyxl.style.Fill.FILL_SOLID
                      new_sheet.cell(None,x,fieldKey).style.fill.start_color.index = openpyxl.style.Color = 'FF00FFFF'                    
                      new_sheet.cell(None,x,fieldKey).value = row.OBJECTID                        
                      x += 1
                      print 'third'
  
                  print x
  </code></pre>