使用PyXLL在Excel中执行Python脚本

2012年02月10日 由Leyond 发布在 Python

PyXLL是一款能够使得在Excel中能够执行Python脚本的插件,不过它是使用Excel扩展库(XLL)的方式,这跟平常加载一些常用的宏方式是一样的。

使用pyXLL,首先你必须安装Python,目前支持2.X版本,你可以选择对应的版本下载:

1. Python: http://python.org/

2. PyXLL: http://www.pyxll.com

下载之后可能需要简单的配置,打开pyxll.cfg,在里面你可以设置你需要加载的模块,日志文件以存放路径等。里面还可以设置Licence,如果你有的话。(若没有的话,其实不影响你正常使用,只不过在打开Excel时有15秒的等待)。

安装方式:

1. 新打开一个Exeel(我使用的是Excel 2007 32-bit,64-bit好像暂不支持)

2. 点击左上角的圆圈按钮,找到Excel选项,之后看到如下图:

选择加载项,然后点击转到:

3. 之后选择下图中的浏览,找到你刚才下载包中的pyxll.xll文件即可。

4. 之后就可以成功调用你在pyxll.cfg文件中定义的模块了。测试可以使用examples中的Excel例子。

5. 举例Say Hello

from pyxll import xl_func

@xl_func("string name: string")

def hello(name):

"""returns a familiar greeting"""

return "Hello, %s" % name

这里xl_func的装饰器的作用在于告诉PyXLL该函数的参数以及返回类型,这样做是为了能够确保PyXLL在Excel中注册成功。执行结果:

如果你更改了程序,可以使用加载项中,Reload PyXLL 即可。

更多资料:http://www.pyxll.com/docs/index.html

还算有创意。。平时都是用第三方包对excel处理。这样必须是关着文件才可以操作。现在这样操作性更强

回复 第2楼 的 G_will:

它的作用就如同RExcel一般。好象没人说RExcel蛋疼。

回复 第4楼 的 lincpa:好吧,我来说,RExcel真是好蛋疼的东西。[s:15]

回复 第1楼 的 lincpa:

这个是通过DCOM连接还是直接调用dll的啊?

6 天 后

回复 第8楼 的 dclong:VBA很好,但是没有python的那些乱七八糟计算库.不过这个东西完全就是蛋疼啊...和RExcel那种东西差不多.