文 | varlemon

编辑 | EarlGrey

推荐 | 编程派公众号(ID:codingpy)

之前发文介绍过一个叫GridStudio的神器,可以在网页版应用中将 Python 与表格处理结合起来。但是那并不是真正地在 Excel 中使用 Python 了,今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python。

公众号:编程派Python 与 Excel 终于在一起了

基本环境操作系统: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

或[点击此处]直接下载

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宏的开发。

[https://www.python.org/downloads/windows/]: https://www.python.org/downloads/windows/

[https://sourceforge.net/projects/excelpython/files/]: https://sourceforge.net/projects/excelpython/files/

https://files.cnblogs.com/files/connect/excelpython-2.0.8.zip

原文链接:https://www.cnblogs.com/connect/p/office-excel-python-conf.html

# 文末送书活动 #

活动规则大家请一定要查看,点击这篇推文哦:从今天起,每天至少送大家一本书

这篇推文的福利赠书,还是我自己翻译的《Python编程无师自通》(先累计送 3 本),送给本篇文章点赞最多的精选留言者。下一篇推文会换一本,书籍的详细介绍可以点击下面的链接查看。

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~

题图:pexels,CC0 授权。

本文仅代表作者个人观点,不代表SEO研究协会网(www.seoxiehui.cn)官方发声,对观点有疑义请先联系作者本人进行修改,若内容侵权或非法,请先联系发布者或作者删除,若需平台协助请联系平台管理员,邮箱cxb5918@163.com。学习互联网营销技术请到巨推学院www.jutuiedu.com。

python调用excel的宏_在 Excel 中使用 Python 开发宏脚本相关推荐

  1. python调用linux软键盘_在Linux中使用Python模拟键盘按键

    之前在做自动化测试中需要用Python在linux中模拟Ctrl+V 进行路径粘贴,试了很多种方法,起初用了xerox和pyperclip这两个python库,但打开对话框后调用粘贴API无法进行粘贴 ...

  2. python调用第三方软件发信代码_【IT专家】python调用第三方邮件接口

    本文由我司收集整编,推荐下载,如有疑问,请与我司联系 python 调用第三方邮件接口 2017/08/10 1 单线程发送 #!/usr/bin/env python# -*- coding: UT ...

  3. python创建类的实例化_在C中实例化python类#

    IronPython类不是.NET类.它们是IronPython.Runtime.Types.pythotype的实例,后者是Python元类.这是因为Python类是动态的,并且支持在运行时添加和删 ...

  4. 下列变量名不符合python命名规范的是_下列选项中不符合Python语言变量命名规则的是...

    [单选题]下列Python保留字中,不用于表示分支结构的是 [单选题]以下程序的输出结果是: j = '' for i in "12345": j += i + ',' print ...

  5. python构造函数调用成员函数_成员函数中的Python调用构造函数

    让我们以这个类为例,它正在扩展MySQLDB的connection对象.在class DBHandler(mysql.connections.Connection): def __init__(sel ...

  6. python可以调用windows资源吗_在Windows中使用Python设置文件夹权限

    慕丝7291255 对于那些对ACE安全描述符的"列表"感兴趣的人,使用以下数据结构.我在此方面获得了一些帮助,并且从此以后就一直使用它.typical_aces={    203 ...

  7. python空白处一长条红色_这个程序中的Python空白区域

    因为换行本身就是空格,所以你的程序设计都有尾随空格.如果你想制作一个特殊情况,你可以禁止表格的末尾写一个换行符. 当我测试你的程序时,我没有看到最后一个值后的空格(ASCII 0x20): $ ~/s ...

  8. python调用百度OCR识别证件+操作excel表格

    python调用百度OCR识别证件+操作excel表格 如果要操作文件的话最好让程序知道文件存不存在,因为做了GUI界面,报错不会直接弹出来,异常捕获就用得比较频繁 因为面向对象没学好,GUI是用工具 ...

  9. excel 宏编程_在 Excel 中使用 Python 开发宏脚本

    点击上方蓝字,每天一起学 Python,文末领送书福利 文 | varlemon 编辑 | EarlGrey 推荐 | 编程派公众号(ID:codingpy) 之前发文介绍过一个叫GridStudio ...

最新文章

  1. ANSI,ASCII,UNICODE
  2. c++预处理命令#pragma 用法
  3. Express + mongoDB + nodejs
  4. oracle s7-2,Oracle S7-2服务器硬盘7302552 7094132原装7093015 7093037 7317908
  5. python中词云图是用来描述_python中实现词云图
  6. 有赞组件vant密码输入框input在微信小程序里隐藏显示密码有问题
  7. Java多线程神器:join使用及原理
  8. Verilog HDL学习笔记(一)常见错误
  9. 聊聊数据中心备份和恢复解决方案厂商和产品(附Gartner报告)
  10. 微信小程序中rpx与rem单位使用
  11. Mac下配置多个SSH-Key (gitLab)
  12. 云服务器安装python_腾讯云服务器安装PYTHON3.6.3
  13. RMAN Crosscheck 和 Delete 命令的2个实例
  14. python黑白方格画
  15. 使用计算机要遵循哪些规则,中国大学MOOC:\\\在计算机网络的定义中,把众多计算机有机连接起来要遵循规定的约定和规则,称之为( )。\\\;...
  16. 地震地图告诉你,地震带离你家有多远?危险指数最高的城市竟然是……
  17. 记一个微商城促销方案实现流程图
  18. 计算机体系结构在线读,计算机体系结构_arch01_intro-c1.pdf
  19. 新版标准日本语中级_第十六课
  20. 基于神经网络的智能对话系统(二)——机器学习背景知识

热门文章

  1. 非root用户服务器安装matlab
  2. LeetCode 738 单调递增的数字
  3. 计算机毕业设计Android家庭理财系统手机软件app(源码+系统+mysql数据库+Lw文档)
  4. 【调剂】大连交通大学2023年硕士研究生招生拟接收调剂专业
  5. 趁着课余时间学点Python(十三)异常处理
  6. 在右键中添加CMD快速通道
  7. 2015第19本:异类--不一样的成功启示录
  8. centos7—日志文件
  9. 如何进行网站的本地测试
  10. 嵌入式、物联网常见通信协议