本帖最后由 yxp 于 2018-8-19 18:48 编辑
听说有个商业插件可以,但是要交钱,各位大神有没有什么好办法。
vba好是好,就是太啰嗦了,例如:搜一个文件还要遍历、递归,理解起来巨麻烦,如果用 python 语言就一句:
glob('d:\\excel\\**', recursive=True)
就可以返回一个列表,包含 d:\excel 目里的所有子目录和文件, ** 表示递归,如果是一个 * 则表示当前目录。
如果excel可以运行python,倒不求能控制excel,他可以在网上爬到各种数据,然后放到excel里来分析
哈哈,找到了! https://sourceforge.net/projects/excelpython/
Python开发的人果然多:https://github.com/ZoomerAnalytics/xlwings
回帖审核好慢,我就直接修改了主贴了。
二楼的兄弟说,从Python直接控制excel,这当然没问题,Python海量的库有很多都可以做到这个,甚至系统里不需要安装excel,都能直接生成excel文件。
但是,我们办公的时候经常打开的是excel文件操作,对于一些新手来说,连excel都还没咋会,你让他运行Python?有点不现实。还是做成傻瓜式的按钮,在excel单击一下就能运行Python更靠谱。
Excel运行Python的傻瓜教程,Python环境官网下载安装即可,然后按1-8步骤:
2. 安装 excelpython-2.0.8.exe 路径默认即可。
3. 搜索c:盘 xlpython.xlam,点击 Excel 主界面的 开发工具 -> Excel加载项,找到刚才搜到的文件加载之(测试版本 x86版 Excel 2016)。
4. 新建一个excel文件,另存为启用宏的工作簿 “工作簿1.xlsm”文件。
5. 点击 Excel 主界面的 ExcelPython,再点第一个笑脸图标:设置ExcelPython,弹出提示后点击是,将在“工作簿1.xlsm”的文件夹里,将出现一个“工作簿1.py”的文件。
6. 记事本打开“工作簿1.py”文件,添加如下内容后,保存并关闭。
- from xlpython import *
- @xlfunc
- def pyExpt(x,y):
- return x**y
复制代码
7. 点击 Excel 主界面的 ExcelPython,再点第二个fx图标:导入Python UDFs
8. 在单元格里用函数 =pyExpt(2,1000),计算2的1000次方
|