问题
很多朋友在使用Power BI的过程中,都遇到过一些xls格式Excel文件无法导入的问题。
此前,在文章《批量合并Excel数据时“外部表不是预期格式”或“文件包含损坏数据”的两种情况》里也对这种情况做了介绍,并给出了用VBA的解决方案。
这个VBA代码总体来说不算复杂,但是,对于很多不熟悉VBA的朋友来说,就比较麻烦。
方法
通过Power Automate Desktop将xls格式文件另存为xlsx格式,其实就是模拟人工对文件夹中的所有xls文件,(循环)一个一个地进行“打开、另存”操作,设置非常简单!
Step-01 获取文件夹中的文件
添加“获取文件夹中的文件”操作,选择xls格式文件所在的文件夹,“文件筛选器”里可以限定为“*.xls”(但发现这里有个bug,实际*.xls*的文件都会出现在结果里)。
Step-02 添加for each循环
这个其实很容易理解,就是循环(重复)地对多个xls文件进行一个一个的处理。
Step-03 在循环中添加“启动Excel”步骤
Step-04 添加“关闭Excel”操作
本来,人工操作时需要先另存为,然后在进行关闭,但是,我们发现,在Power Automate Desktop里,关闭Excel的操作本身就带了另存为的功能。设置也非常简单,如图所示:
总结
经过上面4个十分简单的步骤设置,我们就轻松的完成了将xls另存为xlsx的过程,对比VBA,其实它的思路是一样的。
但是,Power Automate里,通过步骤的设置的方式,帮我们省去了很多变量的定义、怎么获取文件夹的文件、打开和另存Excel用什么函数等等一堆写代码的过程以及需要注意的各种问题。
而且,因为Power BI里不支持VBA,所以,通过VBA将xls格式文件另存为xlsx格式后,还得再到Power BI中进行数据刷新等等一系列操作。
相对地,通过Power Automate Desktop,不仅xls文件另存非常简单方便,而且,还可以将打开Power BI、数据刷新等等一系列后续操作连在一起(具体可参考文章《强强联合!PBI文件做数据分析服务器,PA实现自动数据更新 | PBI实战应用》)。
实现全过程的自动化处理,超爽啊!——而这,才是Power Automate的最大价值所在!
双11视频促销预告
限时限量 90元 优惠券
11.11
0点正式开抢
错过,再等1年!
联系客服