我需要有关在Openpyxl中设置样式的建议。
我看到可以设置单元格的NumberFormat,但是我还需要设置字体颜色和属性(粗体等)。有一个style.py类,但是似乎我无法设置单元格的style属性,而且我真的不想开始修改openpyxl源代码。
有没有人找到解决方案?
从openpyxl版本1.5.7开始,我已成功应用以下工作表样式选项…
from openpyxl.reader.excel import load_workbook from openpyxl.workbook import Workbook from openpyxl.styles import Color, Fill from openpyxl.cell import Cell # Load the workbook... book = load_workbook('foo.xlsx') # define ws here, in this case I pick the first worksheet in the workbook... # NOTE: openpyxl has other ways to select a specific worksheet (i.e. by name # via book.get_sheet_by_name('someWorksheetName')) ws = book.worksheets[0] ## ws is a openpypxl worksheet object _cell = ws.cell('C1') # Font properties _cell.style.font.color.index = Color.GREEN _cell.style.font.name = 'Arial' _cell.style.font.size = 8 _cell.style.font.bold = True _cell.style.alignment.wrap_text = True # Cell background color _cell.style.fill.fill_type = Fill.FILL_SOLID _cell.style.fill.start_color.index = Color.DARKRED # You should only modify column dimensions after you have written a cell in # the column. Perfect world: write column dimensions once per column # ws.column_dimensions["C"].width = 60.0
仅供参考,您可以在openpyxl/style.py…中找到颜色的名称。有时我会从X11颜色名称中添加其他颜色
openpyxl/style.py
class Color(HashableObject): """Named colors for use in styles.""" BLACK = 'FF000000' WHITE = 'FFFFFFFF' RED = 'FFFF0000' DARKRED = 'FF800000' BLUE = 'FF0000FF' DARKBLUE = 'FF000080' GREEN = 'FF00FF00' DARKGREEN = 'FF008000' YELLOW = 'FFFFFF00' DARKYELLOW = 'FF808000'