如何使用python中的 xlwings 在Excel中制作图表时如何控制图表类型?
我在当前文档中看不到任何内容:http://docs.xlwings.org/chart.html
如xlwings快速入门中给出的示例:
from xlwings import Workbook, Range, Chart
wb = Workbook() # Creates a connection with a new workbook
Range('A1').value = ['Foo 1', 'Foo 2', 'Foo 3', 'Foo 4']
Range('A2').value = [10, 20, 30, 40]
chart = Chart().add()
chart.set_source_data(Range('A1').table)
然后我找不到控制Excel工作簿中添加哪种图表的方法......
答案 0 :(得分:2)
这是图表中仍然缺少的基本功能之一,如文档中所述。它已记录here,因此它有望进入下一个版本。
但是,一切都没有丢失:您可以通过访问基础COM对象来控制图表(如上所示):
chart.xl_chart.Chart.ChartType = -4102
您必须从MSDN reference中查找所需特定图表类型的值。所以不是很漂亮,但它应该工作,直到它在xlwings中实现。
答案 1 :(得分:0)
为什么不使用win32com?这样您就可以获得完整的Excel对象模型,这样您就可以在使用VBA时做任何事情。
我在这里找到了一个使用win32com添加图表的小代码示例: http://techlinksandstuff.blogspot.co.uk/2012/11/using-python-to-plot-in-excel.html
对象模型记录在MSDN上,或者如果您熟悉它,它与您在VBA中执行的操作完全相同。 http://msdn.microsoft.com/en-us/library/wss56bz7.aspx
答案 2 :(得分:-2)
或者您可以自己编写代码,然后提交补丁。如果您可以通过Excel界面调出图表,则可以使用宏记录器为VBA确定需要哪些对象和操作。
将非常具体的生成的VBA代码转换为通用Python需要一些工作,但您可以使用Excel VB编辑器的对象浏览器,IntelliSense和帮助文件来指导您。一旦你遵循使用装饰器使事情易于管理,Python的编码风格非常简单。
这可能很有趣。如果不适合你,那么对于那些阅读这个问题的人来说。