ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2360|回复: 0

个人永久性全功能免费-Excel催化剂-Excel文件类型转换、密码去除,补齐PowerQuery短板

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-7-13 19:03 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Excel的多工作薄、多工作表批量合并功能,Excel用户很多这方面的使用场景,也促使了各大Excel各大插件们都在此功能上有所开发,体验程度不一,但总体能够满足大多数的应用场景,本人之前也开发个单独的多工作薄合并功能。
在众多群友反馈想Excel催化剂上也加上多工作薄合并功能。因无法开发出较目前众多插件提供的功能以外较新颖独特的功能,本人最终还是放弃开发此功能。
因微软推出的PowerQuery数据处理ETL插件实在太强大,对于应付多工作薄合并的场景,简直是逆天般轻松易得,故强烈推荐有多工作薄合并需求的转到PowerQuery上完成,取而代之开发个小功能,补足PowerQuery一些短板功能,让多工作薄合并汇总在PowerQuery上能够更顺畅地运行。
简略谈谈PowerQuery是个什么好东西
PowerQuery是微软官方推出的数据处理ETL工具,在Excel2010和Excel2013版本上以插件的形式提供,在Excel2016上已经深度集成到Excel的原生功能中,具体位置在【数据】选项卡内。Excel2016甚至可以使用VBA调用PowerQuery功能模块,数据处理自动化水平得到很多地提升。
在多工作薄合并,多表合并、多表横向追加等功能上,PowerQuery已经做到无需编程知识和SQL知识,只需界面化的鼠标、键盘操作,就可完成过去需要用VBA、SQL复杂处理才能得到的最终结果表数据。同时大量的高级的数据处理功能,只需简单地界面化完成,让传统Excel插件苦苦开发出来的功能,瞬间在PowerQuery面前成为腐朽。
Excel催化剂目前开发的多数功能,都是有意避开PowerQuery所擅长的领域,假设性地对Excel催化剂的使用者有追求使用PowerQuery功能并可能成为重度PowerQuery的使用者,例如多工作薄合并此项PowerQuery最完美支持的功能,就一直保持不开发的姿态。
多工作薄合并之PowerQuery优势
数据结果输出灵活,可突破100万行记录的限制
PowerQuery作为自助式BI的工具一部分,数据处理完的数据结果,一般用于被PowerPivot数据建模工具所引用,Powerpivot对数据的处理能力可突破100万行的Excel表数据,最大的记录数只以用户机的电脑内存有关,内存足够大的64位电脑,装载个1000万行的数据都是小CASE。
若待合并的数据量较大,选择PowerQuery来合并数据是首先。
数据结果可随时刷新,无需重复配置
PowerQuery的数据处理和VBA、VSTO等插件的处理方式有个本质区别在于,PowerQuery处理后的数据,可保留的操作步骤过程元数据,若只是简单修改一些文件名、文件夹名、表名等操作,可轻松在PowerQuery的可视化界面中完成修改。
同时PowerQuery的数据结果是以数据连接的方式存储具体的数据处理步骤,即只需点击【刷新】按钮,即可重新按原来的数据处理逻辑,重新从原始数据中读取数据到目标表中,此过程中无需其他的额外操作即可完成。
数据读取速度更快
因PowerQuery读取原数据,是以数据驱动的形式读取,非一般插件的通过打开工作薄,读取单元格,赋值给数组、再数组返回给单元格等步骤,保守估计PowerQuery读取的速度更快一些。
PowerQuery的致命伤,Excel催化剂帮助补上
前面提到一大堆的PowerQuery在多工作薄汇总上的好处,但不可否认,PowerQuery不是万能,有两点硬伤让其对某些特定场景的数据处理无能为力
第一,PowerQuery不能读取有设置过打开密码的Excel工作薄,因PowerQuery不像VBA那样方便调用Excel的原生功能,PowerQuery遇到有密码的工作薄只能报以投降,当然有其他一些小技巧,用调用网页的方式,通过javaScript来调用Excel对象模型等操作。过于繁琐,普通用户不好操作,对电脑的权限有额外要求等,不推荐学习使用。
第二,PowerQuery读取部分程序生成的xls文件失败,部分PowerBI群友反映在淘宝的生意参谋后台导出的xls文件,不能直接使用PowerQuery来读取,需要额外一步,使用Excel打开xls文件,再保存才能成为标准的xls供PowerQuery来读取。
在Excel催化剂的【Excel文件格式转换】功能中,很好地破解以上两个难题
具体操作如下
步骤一 选择要处理的Excel文件全路径
对同一个文件夹下的所有文件的路径提取,使用第4波介绍的自定义函数,轻松可获取得到,苦仅对部分文件进行处理,也很方便地使用筛选、排序、隐藏行、删除行等操作完成,比直接输入某个文件夹来读取此文件夹下所有文件更为自由灵活。


获取某个文件夹下的所有文件名全路径
同时,利用Excel催化剂开发的自定义函数,还可做许多的关于文件相关的处理


仅获取文件名,不含后缀名
步骤二 构造成生成的新文件的全路径名称
若文件类型需转换,改变目标文件的后缀名即可
若想转换新生成的文件另存为其他路径上,只需修改保存的路径即可


使用自定义函数构造出新的目标文件的全路径
步骤三 选择源文件区域后点击【Excel文件格式转换】
简单配置一下窗体界面,让程序知道从哪里找到目标文件和密码信息
如果生成的新文件,无需密码,去勾选【目标文件是否保留原文件打开密码】即可


匹配转换信息
步骤四 点击【文件类型转换】即可完成
此功能可满足文件类型转换,或xls文件重装保存(源文件和目标文件保持一致),批量去除密码保留密码等操作。以满足以上提及的PowerQuery的两点致命不足的地方。
额外场景 将xlsx转换为xls可供低版本Excel使用
一般来说,更加建议使用xlsx文件保存数据,文件的数据压缩性更强,文件占用空间更小,也更加支持Excel高版本的功能,可能某些场景,需要转换为低版本,供低版本的Excel读取文件,也可使用此功能批量完成。
总结
此篇主要讲述Excel催化剂开发的两个小功能,文件类型转换和密码去除功能,通过这两项功能,再结合PowerQuery的使用,处理多工作薄合并的需求,就变得易如反掌。
同时也看到,一些现成的Excel内置的功能的使用,较我们使用外部插件更为简单易用效率更高,Excel是微软一个出色的产品,其中的每一项功能的开发都是众多最优秀的软件工程师们的成果,所以没有理由舍近求远,放弃使用原生体验很棒的功能,去寻找外部个人开发者开发的小功能。
更合理的方式是:充分利用好现有的Excel原生功能,在其不足的地方进行小修小补,最终达到物尽其用。
欢迎广大Excel用户们,快快进入PowerQuery的世界,绝对不会让你失望而归。

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-4 17:06 , Processed in 0.039226 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表