Power Automate: 从Excel 选择列,每200条生成一个CSV文件并保存在sharepoint文档库

这本来算是一个很简单的流程,之所以写这篇文章,是因为列出表中的行数限制为256条,若要获取所有行,需要启用分页.

参考微软官方的Excel connector的已知问题于限制

用途:分割的文件可以使用邮件发送给不同的收件人,可以调用API写入到数据库或第三方系统 等.

下面直接创建flow.

1. 添加手动触发器.

2. 添加 List rows present in a table, 重点:启用分页.

分页设置:

3. 添加Select选择需要的列.

perl 复制代码
{
    "type": "Select",
    "inputs": {
      "from": "@outputs('List_rows_present_in_a_table')?['body/value']",
      "select": {
        "OrderNo": "@item()?['OrderNumber']",
        "Line": "@item()?['LineNumber']"
      }
    },
    "runAfter": {
      "List_rows_present_in_a_table": [
        "Succeeded"
      ]
    }
  }

4. 初始化循环变量

  • 初始化变量:名称=startIndex,类型=Integer,值=0
  • 初始化变量:名称=fileCount,类型=Integer,值=1

5. 添加Do until直至处理完所有行.

ini 复制代码
Until= variables('startIndex') >= length(body('Select'))

6. 循环内部:

a. 添加一个Compose

less 复制代码
  take( skip(body('Select'), variables('startIndex')),200)

b.添加 Create CSV table

css 复制代码
  {
    "type": "Table",
    "inputs": {
      "from": "@outputs('Compose')",
      "format": "CSV"
    },
    "runAfter": {
      "Compose": [
        "Succeeded"
      ]
     }
  }

c. 添加 create file.

ini 复制代码
  File Name= concat('output_', string(variables('fileCount')), '.csv')
  File Content = body('Create_CSV_table')

d. 添加: Increment startIndex by 200.

e. 添加: Increment fileCount by 1.

流程中,可以使用chunk函数来操作行数的分割.

对于动态内容的Excel文件,可以添加标记列来标记是否已存在在分割的文件中 (Excel中的每一行需要一个唯一的ID). 当记录被写入CSV文件后,标记为是,或者使用日期和时间生成字符串来标识,这样不用每次都读取所有记录.

流程概览如下:

相关推荐
Cloud_Shy61814 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十一章 Python 包跟踪器 下篇)
前端·后端·python·数据分析·excel
asdzx6716 小时前
使用 C# 打印 Excel 文档(详细教程)
c#·excel
vennnnnnnnnnnnnn16 小时前
Excel 导入原文保留与内联排名配置问题复盘
前端·数据库·excel
踩着两条虫17 小时前
AI 低代码引擎可视化设计器交互机制实战
前端·vue.js·人工智能·低代码·架构
anlog17 小时前
Excel返回或设置边框、字体或内部颜色
excel·背景色
工具怪18 小时前
Excel 如何加水印?4种常见使用场景与操作步骤
excel
Jeking2171 天前
低代码平台表单设计器 unione form editor 布局组件--卡片布局
低代码·动态表单·表单设计·表单引擎·unione cloud
Jeking2171 天前
实战案例|用 unione form editor 搭建企业级用户注册表单,组件联动 + 标签布局一步到位
低代码·动态表单·表单设计·表单引擎·unione cloud
次元工程师!1 天前
LangFlow开发(三)—Bundles组件架构设计(3W+字详细讲解)
java·前端·python·低代码·langflow
写了20年代码的老程序员2 天前
Excel 导入导出为什么总是把后端逼成字段搬运工
java·excel