• 技术文章 >头条

    利用Python 开发 Excel 宏脚本的神器!

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-09-28 17:57:46转载6188

    今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python。

    基本环境

    操作系统:Windows 10 x64

    Office:2016

    安装Python

    1.下载Python安装包

    登录[https://www.python.org/downloads/windows/]进行下载Python2.x或Python3.x均可,推荐Python3.x(因为2020年1月1日起Python2就停止服务了...)

    2.安装Python

    安装前,勾选 AddPython3.xto PATH选项。安装完毕之后,在Windows控制台可直接使用 python命令。

    3.检查是否安装成功

    按 Win+R,打开 运行,输入 PowerShell,打开命令行。输入 python-V,查看Python版本号。

    4.安装PythonWin32库

    Python2.x 按以下方式安装

    pip install pypiwin32 -i https://mirrors.aliyun.com/pypi/simple/

    Python3.x 按以下方式安装

    pip install pywin32 -i https://mirrors.aliyun.com/pypi/simple/

    安装ExcelPython

    1.从[https://sourceforge.net/projects/excelpython/files/]处,下载 ExcelPython或[点击此处]直接下载

    相关推荐:《Python教程

    2.新建一个Excel文件,打开可在标签栏显示 ExcelPython标签

    3.打开Excel选项——信任中心——信任中心设置——宏设置——安全性,选中“信任对于VBA工程对象模型的访问”,按确定即可。

    测试安装是否正确

    1.将创建的 data.xlsx文件另存为 data.xlsm宏文件。

    2.回到Excel,点击 ExcelPython标签的 SetupExcelPython按钮

    3.桌面上会出现一个名为 xlpython的文件夹,以及一个与 *.xlsm文件同名的 *.py文件。

    4.打开 data.py编辑,写入以下内容

    from xlpython import *
    import random
    @xlfunc
    def getRandomBirth():
        y = random.randint(1980, 2000)
        m = random.randint(1, 12)
        d = random.randint(1, 28)
    return str(y)+ / +str(m)+ / +str(d)
    @xlfunc
    def getAge(d):
        _today = [ 2019, 8, 30 ]
        _list = str(d).split( / )
        age = _today[0] - int(_list[0])
    if _today[1] < int(_list[1]):
            age -= 1
    elif _today[1] == int(_list[1]):
    if _today[2] < int(_list[2]):
                age -= 1
    else:
    pass
    else:
    pass
    return age

    5.回到Excel中,点击 ExcelPython标签的 ImportPythonUDFs按钮

    6.使用Python中定义的函数在输入框中输入 =getRandomBirth()

    效果如图:

    7.在Excel中使用定义的第二个函数

    效果如图:

    至此,可以使用Python进行Excel宏的开发。

    专题推荐:python excel 宏脚本
    品易云
    上一篇:Python之给我一面国旗 下一篇:Python数据分析 | pandas汇总和计算描述统计

    相关文章推荐

    • 讲解用Python处理Excel表格• python处理Excel的方法之xlrd• python如何处理excel表格

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网