相关疑难解决方法(0)

在Windows中从Python驱动Excel

我们有各种电子表格,采用美味复杂的宏和第三方扩展来生成复杂的模型.我正在开展一个涉及稍微调整各种输入并查看结果的项目.我不想亲手或写VBA,而是想看看我是否可以编写一个python脚本来驱动它.换句话说,python脚本将启动,加载Excel工作表,然后通过在某些单元格中进行微小更改并查看它们如何影响其他单元格来与工作表进行交互.

所以,我的问题是双重的:

  • 什么是用这种方式从python中驱动excel的最好的库?

  • 使用该库的最佳文档/示例在哪里?

干杯,/ YGA

python excel scripting

42
推荐指数
3
解决办法
5万
查看次数

从excel/vba调用python脚本

我有一个python代码,它读取3个参数(标量)和一个文本文件,然后返回一个double的向量.我想在vba中编写一个宏来调用这个python代码并将结果写在同一个excel表中.我想知道最简单的方法是什么,这里有一些我发现的东西:

  • 在vba中调用shell()函数但是获取返回值似乎并不那么容易.

  • 将python代码注册为COM对象并从vba调用它 - >我不知道如何做到这一点所以如果你有一些例子它会非常受欢迎

  • 在自定义工具箱中创建自定义工具,在vba中创建地理处理对象然后添加工具箱,然后我们可以直接通过地理处理对象使用自定义工具,但这也是我不知道该怎么做的事情.

有小费吗?

python excel vba excel-vba

10
推荐指数
2
解决办法
5万
查看次数

如何使用openpyxl使用宏保存XLSM文件

我有.xlsm文件与宏功能.我正在使用openpyxl加载它并将一些数据写入文件,最后想要另存为.xlsm文件.

要将文件保存为XLSM文件,我在Python脚本中使用了以下代码.

wb.save('testsave.xlsm');
Run Code Online (Sandbox Code Playgroud)

但如果我如上所述保存,我就无法打开该文件.但是,如果我将其保存为.xlsx,那么我可以在没有原始文件的宏功能的情况下打开文件.

我想打开一个具有宏功能的Excel工作表,编辑该文件并使用openpyxl将其另存为新的.xlsm文件.我怎样才能做到这一点?

python xlsm openpyxl

9
推荐指数
4
解决办法
3万
查看次数

Python:在多个工作表上将pandas DataFrame写入Excel的最快方法

我需要将24个pandas数据框(140列x 400行)导出到Excel,每个都放到不同的工作表中.

我正在使用熊猫的内置功能ExcelWriter.运行24个场景,需要:

写入.xls文件51秒(使用xlwt)

写入.xlsx文件86秒(使用XlsxWriter)

141秒写入.xlsm文件(使用openpyxl)

只运行程序21秒(无Excel输出)

写入的问题.xls是电子表格不包含格式化样式,因此如果我在Excel中打开它,选择一个列,然后单击"逗号"按钮来格式化数字,它告诉我:"未找到样式逗号".我没有把这个问题写到一个.xlsx,但这甚至更慢.

有关如何使出口更快的任何建议?我不能成为第一个遇到这个问题的人,但经过几个小时的搜索论坛和网站,我还没有找到任何明确的解决方案.

我唯一能想到的是使用Python导出到csv文件,然后编写一个Excel宏来将所有CSV合并到一个电子表格中.

该.xls文件是10 MB,.xlsx5.2 MB

谢谢!

python excel export pandas output

9
推荐指数
1
解决办法
7276
查看次数

如何使用python win32com保存为excel文件

我有一个小的python代码来打开一个Excel文件.现在我想用另一个名称但格式相同的"另存为".我该怎么做..任何帮助都会很棒.FK

python win32com

5
推荐指数
2
解决办法
2万
查看次数

远程控制Excel有更好的方法(除了COM)吗?

我正在研究一种回归测试工具,它将验证大量的Excel电子表格.目前,我使用最新版本的pywin32产品通过COM从Python脚本控制它们.不幸的是,COM似乎有许多恼人的缺点:

例如,最轻微的沮丧似乎能够打破与COM服务器的连接,一旦切断,似乎没有安全的方法来重新连接到Excel应用程序.COM应用程序对象内置绝对没有安全性.

Excel COM接口将不允许我安全地远程控制在同一工作簿文件上运行的Excel应用程序的两个单独实例,即使它们是只读的.

此外,当出现问题时,我很少得到任何有用的错误消息......除了数字错误代码或几乎没有用的消息,例如"发生异常"之外,我最多可以.几乎不可能知道出现问题的原因.

最后,COM缺乏控制Excel的一些最基本方面的能力?例如,没有办法确保关闭COM客户端连接到的Excel进程.您甚至无法使用COM来查找Excel的PID.

那么如果我完全抛弃COM怎么办?有没有其他方法来控制Excel?

我想要做的就是运行宏,打开和关闭工作簿以及读写单元格范围?也许一些.NET专家知道还有一两个尚未冒泡进入Python社区的技巧?你的办公室黑客怎么样?难道有更好的方法来获得Excel的内部而不是COM吗?

.net python com excel

1
推荐指数
1
解决办法
5436
查看次数

标签 统计

python ×6

excel ×4

.net ×1

com ×1

excel-vba ×1

export ×1

openpyxl ×1

output ×1

pandas ×1

scripting ×1

vba ×1

win32com ×1

xlsm ×1