分享

excel运行xlwings用户自定义函数

 天上飞鸡 2020-12-08

在开始之前,请确保你的电脑上成功配置了python、excel、xlwings。

  1. 在excel中引入xlwings模块,有两种方法,任选其一即可。(同时使用会报“两个EXCEL无法打开同一个文件”的错误)

推荐方法1:通过命令行导入 

       

              卸载xlwings模块:xlwings addin uninstall

  方法2:在excel中添加加载项(一开始可用的加载宏选项里是没有Xlwings的)

             

                浏览的地址为:S:\Python3.8\Lib\site-packages\xlwings\addin 下的xlwings.xlam文件。(根据python安装位置,略有不同)

2.在excel中配置xlwings。有两种情况,一种是你的py文件和你的excel文件在同一目录下,另一种是不在同一目录下。一般而言,把py文件单独放在一个固定文件夹里更符合使用习惯。

      2.1 把excel文件另存为为xlsm,即启用宏的excel文件。同时不要忘记在信任中心-->宏设置中启用所有宏。在选项卡中勾选加载项和开发工具。

           

               

2.2在VB模式下添加xlwings引用。工具-->引用

               

2.3在选项卡中配置xlwings。

     2.3.1 如果你的py文件和excel文件在同一目录下,那么只要配置python解释器路径即可。python.exe和pythonw.exe都可                        以,区别在于后者运行时无弹窗。

       当你py文件中的函数名称或参数改变时,仅需点击④即可重新加载函数,当你函数内的代码改动时,点击③重新加载你                 的py文件。

   2.3.2 如果你的py文件和excel文件不在同一目录下,那么需要配置解释器路径,py文件路径,py文件名。如下图:(这里我的               py文件名为MYUDFS,路径为F:\workFile。

这里有个坑:第一次配置一个excel文件时,一定要点击④,导入一下函数,否则无法正常使用,光重启UDF服务是没用的!

3.编辑py文件。所有的用户自定义函数前,虚假@xw.func进行装饰

              

 至此,我们就可以正常使用了,来看一下这个获取两地之间导航距离的函数。

                 

参考链接(xlwings官网):https://docs./en/stable/udfs.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多