问题描述
我想使用python openpyxl
创建一个Excel文件,如以下视频所示:https://youtu.be/fqvZZp2q2uE
代码很简单:
# See full Toturial at my Youtube Channel(YB TV): https://www.youtube.com/channel/UCvnhhDKv5takEN412dmVW8g/featured
# GitHab Page:https://github.com/yasser64b/
#Email: big3del@gmail.com
from openpyxl import Workbook
from openpyxl.chart import BarChart,Reference,Series,LineChart,ScatterChart
from openpyxl.styles import Font,Color,colors
wb = Workbook()
ws = wb.active
for i in range(10):
ws.append([i])
# drawing a graph
values = Reference(ws,min_col=1,min_row=1,max_col=1,max_row=10)
# chart = LineChart()
chart = BarChart()
ws.add_chart(chart,"A15")
chart.title = "Chart"
chart.y_axis.title = 'Size'
chart.x_axis.title = 'Test Number'
chart.add_data(values)
s1 = chart.series[0]
s1.marker.symbol = "triangle"
wb.save("Chart-1.xlsx")
但是我在使用LibreOffice Calc打开它时遇到问题:
如果使用Gnumeric打开,看起来会更好:
如何使.xlsx文件与LibreOffice Calc兼容?
解决方法
如果您不需要专门使用LibreOffice,而只是免费提供了等效的excel,则可以使用OpenOffice。根据我的经验,它与openpyxl一起使用效果更好。
,可能不是一个非常有用的解决方案,因为您需要访问MS Excel,但对我来说,它可以先在MS Excel中打开文件,然后从那里保存文件,然后在LibreOffice中打开文件(不确定是否与也是数字的;我的数字版本以某种方式拒绝打开Openpyxl生成的图表。
这很麻烦,而且如上所述,如果您无法使用MS Excel,那就没用了,因此,如果有人知道更直接的解决方案,我很想听听。
,这是LibreOffice中的错误,将在7.1.0版中修复: