当前位置: 首页 > 面试题库 >

Python-Win32Com的额外Excel图表系列

葛志国
2023-03-14
问题内容

我正在为作业编写一些代码,并且需要在Excel中创建一个简单的柱形图。今天下午,我发现了win32com(顺便说一句令人惊奇的工具),但是我一直在遭受有关它的文档缺乏或找不到运气的困扰^^

我在玩图表,我想我已经做了想要的事,有一点例外:我编写的函数总是创建2个系列的列。

这就是我得到的:

xlBook = xlApp.Workbooks.Add()

xlSheet = xlBook.Sheets(1)
xlSheet.Name = "Algoritmos de Busqueda"
xlSheet.Cells(1,1).Value="Secuencial"
xlSheet.Cells(2,1).Value="Binaria"
xlSheet.Cells(1,2).Value="32"
xlSheet.Cells(2,2).Value="32"

chart = xlApp.Charts.Add()
chart.Name= "Grafico "+xlSheet.Name
series = chart.SeriesCollection().NewSeries()
valoresx=xlSheet.Range("A1:A2")
valoresy=xlSheet.Range("B1:B2")
series.XValues= valoresx
series.Values= valoresy
series.Name= "Algoritmos"
xAxis= chart.Axes()[0]
yAxis= chart.Axes()[1]
xAxis.HasMajorGridlines = True
yAxis.HasMajorGridlines = True

我在图表内创建了一个新系列,其中包含我需要的所有信息。但是,当我运行脚本时,最终得到一个带有4列的Excel图表,并带有相同的信息(成对出现)。我已经尽力了,但是我找不到在X轴上创建第二组值的东西…

非常感谢您的帮助^^谢谢!


问题答案:

通过观察在Excel中记录宏的行为,该宏执行与在Python中复制相同的操作,我们可以看到似乎不需要创建新的序列,例如

series = chart.SeriesCollection().NewSeries()

我可以简单地引用现有的系列

series = chart.SeriesCollection(1)

以下代码似乎在我的计算机上提供了所需的行为。

import win32com.client
xlApp = win32com.client.Dispatch('Excel.Application')

xlBook = xlApp.Workbooks.Add()

xlSheet = xlBook.Sheets(1)
xlSheet.Name = "Algoritmos de Busqueda"
xlSheet.Cells(1,1).Value="Secuencial"
xlSheet.Cells(2,1).Value="Binaria"
xlSheet.Cells(1,2).Value="32"
xlSheet.Cells(2,2).Value="32"

chart = xlApp.Charts.Add()
chart.Name= "Grafico "+xlSheet.Name
series = chart.SeriesCollection(1)
series.XValues= xlSheet.Range("A1:A2")
series.Values= xlSheet.Range("B1:B2")
series.Name= "Algoritmos"
chart.Axes()[0].HasMajorGridlines = True

这已被简化到最低限度。我在Python 2.7和Excel 2003中对此进行了测试



 类似资料:
  • 问题内容: 我想我要跳过通过。但是我找不到多余的东西吗?任何get方法都会收到类似“不适用于字符串”之类的错误。 项目详细信息: 我的课: 我的putExtra: GetChild函数: 但是我找不到我应该怎么写来获取arrayList? 问题答案: 但是我找不到应该怎么写来获取arrayList 简短答案:您不能。您只能通过,然后使用 但是 。如果要通过Intent传递自定义对象,则必须实现以下

  • 本文向大家介绍python xlsxwriter创建excel图表的方法,包括了python xlsxwriter创建excel图表的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了python xlsxwriter创建excel图表的具体代码,供大家参考,具体内容如 效果如下 参考文档: https://pypi.python.org/pypi/XlsxWriter pytho

  • 我在Xcode中遇到了一个错误,需要修复size类。完成后,我返回到我的一个表视图,它在表视图中的第一个原型单元格上方添加了空白。我怎样才能摆脱那个空间?我在下面添加了这张图片,以便更好地描述我的意思。 https://www.dropbox.com/s/7ebxipb0r2jakav/TableViewProblem.png?dl=0

  • 我有两个实体。我想在持久化所有者实体时级联插入子实体,并将子实体的SSO_ID设置为生成器为所有者生成的实体。 ID类是: 相反,我得到了一个错误: 插入hub_users_emails(user_sso_idemail_typesso_idstart_dateuser_mail)值 (?, ?, ?, ?, ?) (等) 绑定参数[1]as[BIGINT]-[1234837655]= (等) 将

  • 问题内容: 我一直试图将Excel中的图表导出为Python中的图像文件(JPG或ING)。我正在看WIn32com。这是我到目前为止所拥有的。 这就是我被困住的地方。我现在需要将所选范围复制到文件中。对文档的任何帮助或指导都可以对我有很大帮助。 我已经基于以下VBA脚本对以上代码进行了建模: 来自以下代码段:http://vbadud.blogspot.com/2010/06/how-to-sa

  • 问题内容: 我想用三个表的联合创建视图。但是在结果查询中,我想要一个额外的列,例如“ tableId”。 我的代码就像 这给了我所需的三个表的并集。但是如何获取结果输出中的表ID列?该列在三个表中都不存在。 问题答案: 这听起来像你只是想一个额外的硬编码值添加到您的列表

  • 问题内容: 我有这两个课(表) 还有这个: 运行此代码后,在数据库(student_course)中创建了一个额外的表,现在我想知道如何在该表中添加额外的字段,例如(Grade,Date和…(我的意思是student_course表)),我看到了一些解决方案,但我不喜欢它们,而且我对它们有一些问题: 第一个样品 问题答案: 如果在链接表(STUDENT_COURSE)上添加额外的字段,则必须根据s

  • 我使用Excel 2010/VBA/XML和DOMDocument60解析器在Oracle中生成数据报告。我对nulls有问题。Oracle在xsql查询中支持null indicator=“yes”,以确保返回的记录集中包含null字段。如果字段有一个值,则XML如下所示:<代码> 我的代码调用Web服务进行查询: 并检索XML结果: 它保存文件: 然后从保存的文件中加载电子表格: 它用XML数