首先推荐一下xlwings的中文文档。xlwings英文文档看不顺溜的同学可以参考中文文档。
0, xlwings能做什么
它除了能够像pandas读写excel文件之外,还能够在windows平台上,给excel添加python宏功能。有了它,我们就能够在Excel的单元格的公式输入中,将我们的python函数当作普通的excel内置函数嵌入我们的公式,从而实现python与excel合而为一后便捷而强大的即时编辑功能。
1, xlwings基本安装:
在这一步,可以把xlwings当作一个普通的python包来进行安装。
我们可以使用熟悉python的同学都熟知的两种经典包安装方法:pip或者conda安装。
pip install xlwings
或者:
conda install xlwings
个人推荐:推荐使用conda创建虚拟环境,然后使用 conda activate xx 激活xx环境,然后在conda环境中使用pip安装。或者在你常用的conda环境中使用pip安装。
注意:由于xlwings作为一个pypi包,是能够装在已有的python环境,并和已有环境中的其他包协作完成任务的。比如在python科学计算领域的经典包:NumPy,Pandas,Matplotlib,Pillow/PIL等,都是可以在安装了xlwings的python环境中继续使用的。
2, 启用excel中的xlwings宏
a 命令行安装加载项
要安装加载项,最简单的方法是在命令行中输入:xlwings addin install 。
但是注意着有一个小小的先决条件,就是已经完成了本文第一步,并且将conda路径加入到环境变量。
b 在excel中启用加载项
在excel中:文件>选项>信任中心>信任中心设置>宏设置 中,选择“启用所有并勾选”并勾选“对VBA对象模型的信任访问”。在excel中启用加载项
c 在命令行创建xlwings工程(包含excel文件)
这一步最简单的方法还是使用命令行:
cd YOUR_PATH
xlwings quickstart myproject
像上面这样选定一个工作路径,然后输入第二行命令就可以自动创建一个名为“myproject”的文件夹。文件夹中包含一个py文件和一个xlsm文件,两个文件名字相同。xlsm文件是excel文件,而py文件则是 我们编写python宏的地方。myproject
d 启动excel
现在我们打开这个xlsm文件,就能看到excel中的xlwings工具栏了。而且在conda配置栏中,已经自动填好了我们的python环境信息。excel中的xlwings工具栏
这个时候,我们可以点击左上角的Run main按钮,运行整个python文件。也可以选择“Import functions”,这个时候会自动产生一个cmd小窗口(最小化这个窗口),然后就可以在excel中把我们在py文件中编写的函数作为普通的函数进行调用了。
3, 编写简单python宏并使用
我们在myproject.py中写入:
import xlwings as xw
@xw.func
def decorate(x):
return "hello" + str(x)
就制作了一个可以被excel调用的函数decorate。这个函数把输入转换为字符串格式,并在前面加上一个“hello”。
然后我们在excel中点击“Import functions”,启用python函数调用功能,然后就可以使用这个函数啦~
4, 更深入的知识
请参考xlwings官网的高级教程。
安装过程中任何相关问题,请及时留言,作者会第一时间检查文章是否有错误。
另外,如果帮助了您,请不要吝啬您的点赞和评论,您的支持是作者保持创作的不竭动力~