如何使用python绘制excel图表?

时间:2012-09-06 09:03:49

标签: python excel win32com

您好我打算在xlsx文件中绘制包含数据的图表。 为了保持风格,我必须在excel中绘制它。 我找到了一个名为win32com的软件包,它可以支持在win32平台上使用python操作excel文件,但我不知道文档在哪里.....

另一个类似的问题是如何改变单元格的样式,如字体,背面颜色? 所以我想知道的就是文档,你知道如何钓鱼比鱼更有用......而且一个例子更好。

4 个答案:

答案 0 :(得分:2)

检查这个lib,几乎可以在这里生成原生excel图。

xlsxwriter line chart example

这里唯一的问题是你无法更新已经存在的工作表,这意味着你可以修改工作表,使用这个库你可以创建所有的图表。

答案 1 :(得分:1)

据我所知,win32com的文档几乎不存在。但是,我使用以下方法来理解命令。

  1. MS-Excel中

    在Excel中,记录您想要采取的任何操作的宏,比如绘制图表。然后转到“宏”菜单并使用“查看宏”获取基础命令。通常,使用的命令将指导您使用python中需要使用的相应命令。

  2. PythonWin的

    您可以使用pythonwin浏览基础win32com定义的对象(在您的情况下为Microsoft Excel对象)。在pythonwin中(可以在python安装中的\Lib\site-packages\pythonwin\找到),转到工具 - > COM Makepy Utility,选择所需的库(在本例中为Microsoft Excel 14.0对象库),然后按确定。然后,当该过程完成后,转到工具 - > COM浏览器并在已注册的库下打开所需的库。注意ID号。因为这将对应于源文件。您可以在COM浏览器中浏览库的各种组件。

  3. 来源

    转到python安装文件夹中的\Lib\site-packages\win32com\。运行makepy.py并选择所需的库。在此之后,可以在\Lib\site-packages\win32com\gen_py找到库的源文件。它是具有古怪名称的那些文件之一。该名称对应于Pythonwin中的名称。打开文件,然后搜索在Excel宏中看到的命令。 (#2和#3可能是多余的,我不确定)

答案 2 :(得分:0)

AFAIK,win32com是Microsoft's COM technology的接口,因此您必须在那里查看有关不同启用COM的应用程序可用的对象和方法的说明。如果你不是从空的电子表格开始并尝试从头开始使用win32com创建所有内容,而是在Excel中创建一个只需要填写实际数据的模板,那么你的任务可能会更容易。实际上,因为Excel可以使用ODBC数据来源,也许数据库是一个更好的界面?

答案 3 :(得分:0)

import win32com.client as w32

oe = w32.Dispatch("Excel.Application")
ow = oe.Workbooks.Add()
osh = ow.Sheets(1)
osh.Select()
osh.Activate()
osh.Cells(1,1).Font.Bold = True # set A1 to bold
osh.Range("A1").Interior.Color = RGB(255,0,0) # set to red background color