• 162_Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv_2.0


    162_Power Query 快速合并文件夹中表格之自定义函数 TableXlsxCsv_2.0

    一、背景

    书接上回,在前面的文章(https://jiaopengzi.com/2602.html)中我们已经发布了一版 Power Query 快速合并文件夹中表格的自定义函数 TableXlsxCsv。我们暂且把它设置为 1.0 版本。

    在之前的功能下,本次新增添一个功能:自定义合并 Workbook 中的 Worksheet

    先来看下动图:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VY4Lpg4w-1659501853363)(https://image.jiaopengzi.com/wp-content/uploads/2022/08/162-1.gif)]

    二、示例

    1、数据源

    同一文件夹下,有三种不同文件格式数据源,明细如下图。

    162-2

    2、函数说明

    相较 1.0 版,2.0版中对第三参数进行了调整,调整为可选参数 SheetNameList。

    参数 SheetNameList 不填写或为 null 时,表示合并文件夹中 WorkBook 所有 WorkSheet 及 CSV 文件; 该参数不为 null 时,则过滤掉 CSV 格式文件。

    其它参数相较 1.0 版保持不变,参阅:https://jiaopengzi.com/2602.html 。

    162-3

    3、示例1

    从文件夹<订单信息>中合并所有表格,且不用文件名称添加列.

    TableXlsxCsv( "订单信息", 1, 0 )
    
    • 1

    从文件夹<订单信息>中每个文件中从顶部移除 1 行后合并所有表,且不用文件名称添加列;第四至第八参数均不填写

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3iObZ3fv-1659501853364)(https://image.jiaopengzi.com/wp-content/uploads/2022/08/162-4.png)]

    4、示例2

    从文件夹<订单信息>中合并 WorkSheet 为张三和李四的表格,且不用文件名称添加列。

    TableXlsxCsv( "订单信息", 1, 0, {"张三","李四"})
    
    • 1

    从文件夹<订单信息>中每个文件中从顶部移除 1 行后合并所有表,且不用文件名称添加列;第四至第八参数均不填写。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-T09un2q7-1659501853364)(https://image.jiaopengzi.com/wp-content/uploads/2022/08/162-5.png)]

    5、示例3

    从文件夹<订单信息>中合并 WorkSheet 为张三的表格,使用文件名称按照规则添加列。

    TableXlsxCsv( "订单信息", 1, 3, {"张三"}, "数据日期", "日期", 5, 10 )
    
    • 1

    从文件夹<订单信息>中每个文件中, sheet 名称为:张三的表中,从顶部移除 1 行并且从底部移除 3 行后合并表;当第五参数 ColunmName 填写时, 后四个参数必填,添加列的名称:数据日期,数据类型为:日期格式,按照文件名称从 5 个字符开始取 10 个字符。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eqrOPvn6-1659501853365)(https://image.jiaopengzi.com/wp-content/uploads/2022/08/162-6.png)]

    6、自定函数 TableXlsxCsv_2.0

    TableXlsxCsv 主函数如下,由于代码较长,请前往 https://jiaopengzi.com/2838.html 查看。

    let
      fx0 = (
        FolderName               as text, 
        RemoveFirstRows          as number, 
        RemoveLastRows           as number, 
        optional SheetNameList   as list, 
        optional ColunmName      as text, 
        optional ColumnType      as text, 
        optional NameStartNumber as number, 
        optional Length          as number
      ) as table =>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    三、总结

    1、自定义需要筛选的 Worksheet ,但是数据依然需要有一定的结构性和通用性。

    2、对于不断变换的需求,我抽象出方法来复用,但需求总是在不断变化的,有时候为了一个简单的需求需求要写很长的函数才能抽象出来,但是复制粘贴只需要两三步即可;我们需要在这样变化中寻求平衡。

    3、附件中有分步的步骤,可以自由发挥。

    4、一定注意,我们的必要文件夹和必要 excel 的名称请不要更改,本次调整必要的文件夹为 <00_config> 。

    5、对于很多新手朋友来说,只会点击输入参数,特别提醒可以直接在编辑栏里面手动输入和修改

    附件下载

    https://jiaopengzi.com/2838.html

    视频课

    https://jiaopengzi.com/all-course

    by 焦棚子

  • 相关阅读:
    FPGA硬件工程师Verilog面试题(三)
    月薪12.8K,转行测试斩获3份过万offer,分享一些我的小秘招
    新建项目Group和Artifact该如何写
    (粗糙的笔记)动态规划
    动手学深度学习(Pytorch版)代码实践 -卷积神经网络-24深度卷积神经网络AlexNet
    【资损】资损防控的系统规范-收单类服务设计
    Pthon中的文件处理
    java心理健康测评与咨询系统springboot+ssm
    字符串方法+ES6中字符串的方法
    【学习笔记】【DOA子空间算法】7 MUSIC-like 算法
  • 原文地址:https://blog.csdn.net/weixin_41987713/article/details/126138168