我希望避免对颜色使用十六进制代码,并利用openpyxl中的预设颜色名称来填充单元格。但是这个代码有以下错误:
from openpyxl import Workbook
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font, NamedStyle
from openpyxl.styles.colors import Color
from openpyxl.drawing.fill import ColorChoice
wb= Workbook()
ws = wb.active
sashighlight = NamedStyle(name="sashighlight")
bd = Side(style='thick', color="000000")
sashighlight.border = Border(left=bd, top=bd, right=bd, bottom=bd)
sashighlight.alignment = Alignment(horizontal='center', vertical='center')
sashighlight.fill = PatternFill(fill_type='solid', start_color=ColorChoice(prstClr='yellow'))
Traceback (most recent call last):
File "test.py", line 13, in <module>
sashighlight.fill = PatternFill(fill_type='solid', start_color=ColorChoice(prstClr='yellow'))
File "/usr/lib/python2.7/site-packages/openpyxl/styles/fills.py", line 92, in __init__
self.fgColor = fgColor
File "/usr/lib/python2.7/site-packages/openpyxl/styles/colors.py", line 126, in __set__
super(ColorDescriptor, self).__set__(instance, value)
File "/usr/lib/python2.7/site-packages/openpyxl/descriptors/base.py", line 44, in __set__
raise TypeError('expected ' + str(self.expected_type))
如何使用预设的颜色名称?你知道吗
你在找这样的东西吗(对我来说很有用):
相关问题 更多 >
编程相关推荐