长时间潜伏,第一次问问。如果我遗失了某些内容,请告诉我。
我使用的是python 35和openpyxl 2.4.0。我在xlsx文件中生成了许多图表。下面的代码段:
# create chart for summary graph
myChart = BarChart()
myChart.type = 'col'
myChart.style = 10
myChart.title = chartTitle # 'chartTitle' is passed to the function
myChart.y_axis.title = 'No. of WRs'
myChart.x_axis.title = 'WR assignee'
# some lines here omitted (related to charted data)
myChart.shape = 4
newSheet.add_chart(myChart, 'F1')
一切运作良好,但图表标题和轴标题是18和16磅字体 - 对图表大小来说太大了。我不想在图表大小上工作,因为我事先并不知道要绘制多少列 - 脚本会读取每周的ERP转储并绘制特定结果。
openpyxl doc提供了有关格式化单元格的指导,但没有(我可以找到)图表中的文本大小。任何帮助将不胜感激。
答案 0 :(得分:1)
我希望它不会让你太晚。经过大量研究后,我能够找到一种方法,使用Openpyxl从图表段中更改字体及其大小。
字体的大小在sz = 1500处定义,这意味着通常的15字体大小。使用该逻辑1200为12.最小值为100,最大值为400000。
from openpyxl.chart.text import RichText
from openpyxl.drawing.text import Paragraph, ParagraphProperties, CharacterProperties, Font
font_test = Font(typeface='Calibri')
cp = CharacterProperties(latin=font_test, sz=1500)
chart.x_axis.txPr = RichText(p=[Paragraph(pPr=ParagraphProperties(defRPr=cp), endParaRPr=cp)])