如何用Excel使用Python绘制图表?

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

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

检查这个lib,几乎可以在这里生成本地的excelgraphics。

xlsxwriter折线图例子

唯一的问题在于你不能更新已经存在的工作表,意味着你可以修改工作表,用这个库你可以创build所有的图表。

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

  1. MS-Excel中

    在Excel中,logging一个你想要的任何动作的macros,比如绘制一个图表。 然后进入macros菜单并使用Viewmacros来获取底层命令。 通常使用的命令会引导您使用python中相应的命令。

  2. 的PythonWin

    你可以使用pythonwin来浏览底层win32com定义的对象(在你的情况下是Microsoft Excel对象)。 在pythonwin(可以在你的python安装\Lib\site-packages\pythonwin\下find\Lib\site-packages\pythonwin\ ),进入Tools – > COM Makepy Utility,select你需要的库(在这个例子中是Microsoft Excel 14.0 Object Library) 。 然后当这个过程完成时,进入工具 – > COM浏览器并打开注册库下的所需库。 请注意ID号。 因为这将对应于源文件。 您可以在COM浏览器中浏览库的各个组件。

  3. 资源

    在您的python安装文件夹中转到\Lib\site-packages\win32com\ 。 运行makepy.py并select所需的库。 之后,可以在\Lib\site-packages\win32com\gen_pyfind该库的源文件。 这是一个古怪的名字的文件之一。 该名称对应于在Pythonwin中find的名称。 打开文件,然后search您在Excelmacros中看到的命令。 (#2和#3可能是多余的,我不确定)

AFAIK,win32com是微软COM技术的一个接口,所以你必须在这里find解释不同的支持COM的应用程序可用的对象和方法。 如果你没有从一个空白的电子表格开始,并且试图从头开始使用win32com创build所有的东西,而是在Excel中创build一个只需要填写实际数据的模板,那么你的任务可能会更容易。实际上,因为Excel可以使用ODBC数据来源,也许数据库是一个更好的界面?

 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