点击上方蓝字,每天一起学 Python,文末领送书福利

文 | 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 及以上数字,有惊喜好礼哦~

推荐阅读

  • 你有一份代码审查问题清单,请查收

  • 电子书 | Python 爬虫技术升级必备

  • 深度!Python 解析 XML 数据的正确姿势

  • O'Reilly又出了一本免费的新书!关于深度学习首选这一本

题图:pexels,CC0 授权。

excel 宏编程_在 Excel 中使用 Python 开发宏脚本相关推荐

  1. python调用excel的宏_在 Excel 中使用 Python 开发宏脚本

    文 | varlemon 编辑 | EarlGrey 推荐 | 编程派公众号(ID:codingpy) 之前发文介绍过一个叫GridStudio的神器,可以在网页版应用中将 Python 与表格处理结 ...

  2. 在IIS中写Python的CGI脚本

    原文:怎样在IIS中写Python的CGI脚本 1.安装好Python: 2.配置IIS:         a.打开管理工具-〉Internet信息服务:         b.在网站属性上右键,进入属 ...

  3. 在Eclipse中搭建Python开发环境之三新建python 提示django not found

    python 不是内部或外部命令 现在我假设你的python安装在C:\Python26目录下,设置环境变量方法如下: 方法一.我的电脑->属性->高级->环境变量->系统变量 ...

  4. 在Eclipse中搭建Python开发环境

    在Eclipse中搭建Python开发环境 来自: http://hi.baidu.com/hqwfreefly/blog/item/2543181d0afd9604314e150e.html 前言 ...

  5. eclipse配置python开发环境_Eclipse中配置python开发环境详解

    Eclipse中配置python开发环境详解 1.下载python安装包.python-2.6.6.msi.并安装. 默认python会安装在C:\Python26下,查看环境变量,如果没有在path ...

  6. eclipse的python_eclipse中集成python开发环境

    转载:https://www.cnblogs.com/mywood/p/7272487.html Eclipse简介 Eclipse是java开发最常用的IDE,功能强大,可以在MAC和Windos上 ...

  7. atom配置python_在Atom中设置Python开发环境

    在使用Python开发环境中,很多人比较喜欢使用Atom.在Atom中,有很多编辑工具,包括文字,方括号,原子.Atom是完全免费的,并且它具有许多可用的程序包和主题,从而使编码变得更加容易.在这里, ...

  8. 在Xcode7中搭建python开发环境

    在Xcode7中搭建python开发环境 我使用的版本为Version 7.3 (7D175),关于基础配置部分,参考了Xcode6中搭建python开发环境的方法 环境搭建 1.找到电脑上安装Pyt ...

  9. 在Windows中搭建python开发环境与使用初步(适合初学者)

    在Windows中搭建python开发环境与使用初步 安装设置python运行环境 到网站https://www.python.org/downloads/windows/ 找到合适版本,下载. 双击 ...

最新文章

  1. 金融科技创业公司Revolut增加对BCH和XRP支持
  2. openwrt 遍译php_完全新手教程:编译openwrt全过程
  3. Regular in UltraEdit
  4. 基础回顾(正则、循环、和、 int和Integer、String /StringBuffer、Array和ArrayList、值传递和引用传递、 Lamda、java8)
  5. ArcGIS实验教程——实验二十五:大型商场选址经典案例
  6. DockOne技术分享:十个问题带你了解Windows Docker
  7. java 反射 hold_Go进阶:反射3定律
  8. 插件 脚本 线程 进程
  9. 相比JPG,PNG矢量图片才是设计师的首选素材
  10. python绘制音频频谱_Python 读取wav画频谱
  11. 数据结构c语言描述第课后答案李学刚,数据结构(C语言描述)(第2版)
  12. 泰格如何修改服务器地址,泰格X7盘点机使用说明
  13. 为什么计算机和网络设备都需要接地,一个实例全面讲解机房如何做防雷接地?...
  14. 新世纪大学英语(第二版)综合教程第一册 Unit 1 (中英翻译和重点单词)
  15. Google 按图搜索的原理
  16. lisp 车位块自动编号_CAD如何生成自动编号
  17. freeictclas java_天书般的ICTCLAS分词系统代码(一)
  18. 固定定位相对于当前父元素
  19. linux基础知识和命令
  20. 阿里云服务器储存空间不足解决方案

热门文章

  1. 关于script的放置位置
  2. VHDL操作运算符的优先级顺序
  3. Javascript权威指南学习笔记一:数据类型
  4. 计算机面试数据库基本知识,面试基础知识集合(python、计算机网络、操作系统、数据结构、数据库等杂记)...
  5. java匹配出某单词除外_java正则匹配 指定内容以外的 内容
  6. aop springboot 传入参数_Spring、SpringMVC和SpringBoot看这一篇就够了!
  7. 用c语言链表做一个词典,电子字典C语言链表版
  8. 对话系统(一)-概览
  9. 8 MyBatis动态SQL
  10. sql网站路径php,如何在源码中找出sql语句的位置呢