今天给大家介绍一个叫做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(因为Python2将从2020年1月1日起停止服务...)
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或[点击此处]直接下载
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实现特殊参数传递的方法11/28
- ♥ python和js是如何交互的11/25
- ♥ 什么是python uwsgi11/13
- ♥ 如何在python中输入引号09/14
- ♥ 如何在python中关闭指定的excel09/20
- ♥ Python字典遍历的三种情况10/17
内容反馈