0

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

另一个类似的问题是如何更改单元格的样式,例如字体、背景颜色?因此,也许我只想知道文档,您知道如何钓鱼比钓鱼更有用....举个例子更好。

4

4 回答 4

2

勾选这个lib,这里几乎可以生成原生的excel图。

xlsxwriter 折线图示例

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

于 2015-08-22T07:39:56.667 回答
1

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

  1. MS-Excel

    在 Excel 中,记录您打算执行的任何操作的宏,例如绘制图表。然后转到宏菜单并使用查看宏来获取底层命令。通常,使用的命令会引导您找到需要使用的 python 中的相应命令。

  2. 蟒蛇

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

  3. 资源

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

于 2012-10-26T11:34:12.200 回答
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
于 2012-09-06T13:55:00.330 回答
0

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

于 2012-09-06T11:51:01.527 回答