Power Query读取SharePoint中ZIP二进制列的文件信息问题
1. 确保获取正确的SharePoint ZIP二进制内容
通过SharePoint.Contents连接到站点并定位到目标文件夹后,展开文件列表时,先对默认的Content列做缓冲处理,避免延迟加载导致的二进制数据异常:
#"Buffered ZIP Content" = Table.AddColumn(#"你的前置步骤名称", "BufferedZip", each Binary.Buffer([Content]))
2. 用内置Zip.Unpack替代自定义Unzip函数
Power Query内置的Zip.Unpack函数能稳定处理SharePoint返回的二进制ZIP数据,无需自定义函数。添加自定义列解析ZIP内文件的元数据:
#"Extracted ZIP Metadata" = Table.AddColumn(#"Buffered ZIP Content", "ZIP File Details", each let UnpackedFiles = Zip.Unpack([BufferedZip]), // 提取需要的元数据字段:文件名、大小、修改日期 MetadataTable = Table.SelectColumns(UnpackedFiles, {"Name", "Length", "LastModified"}) in MetadataTable )
3. 展开并整理元数据格式
展开ZIP File Details列,调整列类型以适配报表需求:
#"Expanded ZIP Details" = Table.ExpandTableColumn(#"Extracted ZIP Metadata", "ZIP File Details", {"Name", "Length", "LastModified"}, {"ZIP内文件名", "文件大小(字节)", "最后修改日期"}), #"Adjusted Column Types" = Table.TransformColumnTypes(#"Expanded ZIP Details", {{"文件大小(字节)", Int64.Type}, {"最后修改日期", type datetime}})
4. 排查异常情况
如果仍无法正常解析,检查以下两点:
- 确认账号对目标SharePoint文件拥有内容读取权限(仅元数据权限不足以获取二进制内容)
- 将ZIP文件下载到本地验证,排除文件本身损坏的可能
内容的提问来源于stack exchange,提问作者MmVv
相关产品推荐
相关产品推荐

