从 Python 操作 Excel

Manipulate Excel from Python

我想从 Python 操作 Excel 电子表格,例如打开它,然后执行一个嵌入的 VBA 宏,或者对里面的数据执行一些操作。为此,我可以选择是在 Windows 还是 Linux 上工作。

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

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

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


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

1
2
3
Public Sub Auto_Open()
     ''' Run other macro here
End Sub

然后您可以使用 subprocess.popen 打开 Excel 文件。这是一个小技巧,但避免使用 win32com。我不得不走这条路,因为 win32com 无法在我们锁定的计算机上运行。