Power Query拆分多行时遇Table转Text类型错误求解决
问题分析与解决
错误根源
你代码中的核心问题是:Source是Pdf.Tables返回的多表格集合(包含表格元数据),而非你实际需要处理的Table002数据表。虽然你已经提取了目标数据表Table002 = Source{[Id="Table002"]}[Data],但后续转换步骤仍错误地使用了Source,导致Table.ToRecords(Source)处理的是表集合,其中的Data字段为Table类型,执行Text.Split时触发“无法将Table转为Text”的类型错误。
修正后的代码
将所有转换步骤中的Source替换为目标数据表Table002即可解决问题,同时可以增加空值处理避免额外报错:
Source = Pdf.Tables(File.Contents("C:\Users\gmall\OneDrive\EF personales\EF\Temporales\IBK_Sueldo_PEN.pdf"), [Implementation="1.3"]), Table002 = Source{[Id="Table002"]}[Data], TableTransform = Table.Combine(List.Transform(List.Transform(Table.ToRecords(Table002), (x) => List.Transform(Record.ToList(x),each if _ <> null then Text.Split(_,"#(lf)") else {null})), each Table.FromColumns(_,Table.ColumnNames(Table002)))) in TableTransform
额外说明
- 新增的
if _ <> null then ... else {null}逻辑,用于处理单元格为空的情况,避免Text.Split因空值触发新的错误。 - 若拆分后仍有格式问题,可检查目标表格的列数据类型,确保所有需拆分的列均为文本类型。
内容的提问来源于stack exchange,提问作者Ximox
相关产品推荐
相关产品推荐

