我最近将我的代码切换到openpyxl,以利用更新工作簿的能力,并且我遇到了背景风格的问题。我使用颜色和十六进制值尝试了下面代码的几个变体,我总是得到相同的结果,即黑色背景和粗体白色文本。提前致谢!
from openpyxl.styles import NamedStyle, PatternFill, Border, Side,
Alignment, Protection, colors, Font
styl_hdg = NamedStyle(name="styl_hdg")
styl_hdg.font = Font(color=colors.WHITE, bold=True)
styl_hdg.alignment = Alignment(wrap_text=True)
styl_hdg.fill = PatternFill(bgColor=colors.DARKGREEN, fill_type="solid")
ws.cell(row=myrow, column=mycol).style = styl_hdg
我也试过这个,因为有时我会得到并且已经定义了错误样式。当我将行添加到现有工作簿/工作表时。
ws.cell(row=myrow, column=mycol).font = Font(bold=True,color=colors.WHITE)
ws.cell(row=myrow, column=mycol).fill =
PatternFill(fill_type="solid",bgColor=colors.DARKGREEN)
答案 0 :(得分:3)
来自OOXML规范:
此元素用于指定图案和纯色单元格填充的单元格填充信息。对于固体细胞填充(无图案),fgColor是 使用。
所以你需要设置[2] pry(main)> require 'money'
=> true
[3] pry(main)> money = Money.new(12345, 'USD')
=> #<Money fractional:12345 currency:USD>
[6] pry(main)> "#{money.currency.symbol}#{money.to_f.ceil}"
=> "$124"
答案 1 :(得分:0)
感谢Pedroski55: https://python-forum.io/Thread-Best-way-to-set-cell-background-colour-in-openpyxl
$usersList = Users::whereIn('id', [1, 2, 3])->get();