python - 从 Python 操作 Excel

标签 python excel com

我想通过 Python 操作 Excel 电子表格,例如打开它,然后执行嵌入的 VBA 宏,或对内部数据执行一组操作。我可以选择是在 Windows 还是 Linux 上工作。

有一些包方法可以做到这一点(来自 this answer 的 xlwings 包),但我正在寻找更原生的东西来探索那里有哪些选项。

我认为实现此目的的一种方法是 Windows 上的 COM 接口(interface),xlwings 本身对其进行了包装。我找到了 win32com python 模块,但关于操作特定对象以及可用的方法和属性的文档似乎很少。有人可以给我指出一个好的信息源吗(书籍也可以)?

或者,还有其他选项可以做到这一点吗?如果有,我可以在哪里阅读它们?

最佳答案

我通过使用 VBA 中的 Auto_Open() 函数解决了这个问题,该函数在 Excel 文件打开时运行。

Public Sub Auto_Open()
     ''' Run other macro here
End Sub

然后您可以使用 subprocess.popen 打开 Excel 文件。这有点 hack,但避免使用 win32com。我必须采取这条路线,因为 win32com 无法在我们锁定的计算机上运行。

关于python - 从 Python 操作 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35705238/

相关文章:

c# - 从 C++ 调用 C#,返回值

python - 如何在 scikit-learn 的 LogisticRegressionCV 调用中将参数传递给评分函数

python - 在带有 uwsgi 的 flask 应用程序中使用 mysql-connector-python 并收到以下错误 : SSL connection error: SSL_CTX_new failed

python - 如何使用 python 中的 pageviewapi 查找今天浏览次数最多的维基百科页面

python - 将分组项保存到不同的 Excel 工作表

PHPExcel 如何使用 setFormula1() 将工作表列链接到单元格

com - 检测 Ref 计数 COM 对象上的内存泄漏(Addref without Release)

python - 总的Python处女,这段代码有什么问题? “Detect Indentation error.”

Excel Sumifs 使用在标准中存储为文本的数字

c# - 将 C# COM 服务器事件公开给 Delphi 客户端应用程序