openpyxl barchart LibreOffice兼容性问题

问题描述

我想使用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打开它时遇到问题:

LibreOffice Calc

如果使用Gnumeric打开,看起来会更好:

Gnumeric

如何使.xlsx文件与LibreOffice Calc兼容?

解决方法

如果您不需要专门使用LibreOffice,而只是免费提供了等效的excel,则可以使用OpenOffice。根据我的经验,它与openpyxl一起使用效果更好。

,

可能不是一个非常有用的解决方案,因为您需要访问MS Excel,但对我来说,它可以先在MS Excel中打开文件,然后从那里保存文件,然后在LibreOffice中打开文件(不确定是否与也是数字的;我的数字版本以某种方式拒绝打开Openpyxl生成的图表。

这很麻烦,而且如上所述,如果您无法使用MS Excel,那就没用了,因此,如果有人知道更直接的解决方案,我很想听听。

,

这是LibreOffice中的错误,将在7.1.0版中修复:

https://bugs.documentfoundation.org/show_bug.cgi?id=137734

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...