以下内容为自己的学习笔记,如需求转载,请声明原文链接 微信公众号「ENG八戒」mp.weixin.qq.com/s/k2XtfXS3G…
创立作业表格
创立表格
xlwings 就能够帮忙创立刺进了宏的 excel 表格。
先找到一个心满意足的目录,一般我们称之为作业目录,比如我选择在 D 盘根目录,翻开文件管理器,点击途径栏空白部分,然后输入 cmd 并回车
输入回车后,系统会主动弹出命令行终端,并且主动把命令行终端的当时途径设置到上面的作业目录中
在里面输入
xlwings quickstart fishfeed
上面的指令会在当时目录下创立文件夹 fishfeed,并在文件夹内创立两个文件
fishfeed.py
fishfeed.xlsm
文件 fishfeed.xlsm 是 xlwings 主动刺进了宏的表格,我们后边就在这个表格里刺进和调用自定义 python 函数。
文件 fishfeed.py 是 python 脚本文件,里面已经创立了 xlwings 的应用示例,包含有一个简单的 hello 示例函数,文件内容如下
import xlwings as xw
def main():
wb = xw.Book.caller()
sheet = wb.sheets[0]
if sheet["A1"].value == "Hello xlwings!":
sheet["A1"].value = "Bye xlwings!"
else:
sheet["A1"].value = "Hello xlwings!"
@xw.func
def hello(name):
return f"Hello {name}!"
if __name__ == "__main__":
xw.Book("fishfeed.xlsm").set_mock_caller()
main()
Excel 作业簿和 python 脚本的交互
从文件 fishfeed.py 的代码内容来看
xw.Book("fishfeed.xlsm").set_mock_caller()
这行代码会将表格文件 fishfeed.xlsm 和本脚本代码树立相关。当履行
xw.Book.caller()
时,回来的就是 fishfeed.xlsm
表格代表的作业簿,存放在变量 wb。
wb.sheets[0]
通过 xlwings 作业簿的 sheets 成员获取作业表,后边的 [] 内的数值代表作业表序号,序号从 0 开始(0,1,2,3…)。
获取到作业表后,通过作业表的操作符 [] 能够指定访问和读写的单元格内容
sheet["A1"].value = "Bye xlwings!"
上面这行代码表明将字符串 Bye xlwings!
内容写入作业表 sheet 的 A1 单元。
接下来看看运转作用,双击翻开 excel 文件 fishfeed.xlsm,点击工具栏的 xlwings,然后直接点击最左边的履行按钮 Run main
在上面的作用里,当履行 Run main
时,xlwings 主动直接履行了一遍 python 脚本文件,但 python 脚本文件中还有其它的自定义函数未被运用,下面来看看怎样刺进 python 脚本文件提供的自定义函数。
excel 调用自定义 python 函数
脚本文件 fishfeed.py 里还完成了一个函数 hello()
@xw.func
def hello(name):
return f"Hello {name}!"
hello() 函数的用处是将输入的参数简单拼接在字符串 hello 之后,然后回来拼接后的结果。
在 excel 单元格里刺进 python 自定义函数与其它 excel 自带函数是相同的书写格局,但刺进的时候有一点需求留意,先看看作用
留意:在任何单元格里刺进自定义函数之前都必须先选中该单元格,然后点击工具栏里的按钮
Import Functions
。假如你发现刺进的自定义 python 函数没有发生作用,能够尝试点击一下工具栏里的按钮Import Functions
。
至于其它的自定义功用的函数完成完全能够照着 hello() 函数格局来完成。
未完待续,下期更精彩。。。