我正在努力使用Power Automate从CSV文件自动导入数据(到SharePoint列表(。
我有一个成功的过程,在OneDrive上获取CSV,并将数据分离到一个数组中,将其导入SharePoint列表。
当我更改触发器以从Outlook中查找CSV附件时,我遇到了各种编码问题。
流程的开始是:
当电子邮件到达时
->
初始化空字符串变量(fileContent(
->
循环(获取附件内容(
将fileContent设置为附件内容(这是编码关闭的地方(
-->
初始化CSV阵列
价值=split(decodeUriComponent(替换(uriComponent(变量("文件内容"((,"%0D","(,"%0A","#NL#"(,"#NL#"(
(-->然后,几个正确工作的附加步骤(
(轮廓图(
CSV数组初始化中复杂表达式的原因是将CSV文件分离为组件行,从而编码和解码为URI组件。
我遇到的问题是,附件内容显示得好像编码不正确一样——见图。此后,所有其他步骤都是错误的。然后我检查了从OneDrive提取同一文件时的输出,结果看起来是正确的。因此,我尝试将附件添加到OneDrive,然后从OneDrive获取数据。但最终还是用了同样奇怪的编码。如果我不先将附件内容放入变量中,这也是一样的——如果我在后面的步骤中直接引用它,那么编码看起来完全相同。
这个文件似乎没有什么特别奇怪的地方。当我查看附件中的contentBytes并将其通过base64解码器时,这很好。但不在Power Automate内部。我需要做一些额外的事情来指定编码吗?
谢谢你的帮助!
如果你让OneDrive导入/解析工作,你可以考虑将电子邮件附件保存到OneDrive,进行.csv导入/解析,然后在附件成功后从OneDrive中删除。