Excel2013"无法打开数据透视表源文件"期间"全部更新"

时间:2017-03-13 02:24:24

标签: excel pivot-table

我有一个旧的膨胀的Excel工作簿,我试图删除。 在用table链接到SQL数据库查询替换所有外部和计算内部数据源之后,每次执行Update All时,Excel始终会抱怨“Cannot open PivotTable source file xxxxxx[yyyy]|zzzz”

我几乎查看了所有工作表,但未找到任何引用相关外部Excel文件的内容。 有没有办法找到哪个单元格,至少在哪个表单中,这个可转向的问题是什么?

看起来不再引用缓存数据。 (见PS2) 无论如何在没有手动编辑XML的情况下清除这些缓存的条目?

感谢。

PS1: 我试过VBA方式检查ActiveWB.LinkSource(1) 它没有用,所有它给我的是我已经知道的单元格中引用的工作表。错误警报中提到的工作表未列出。

PS2: 我将文件保存到xlsx unpackd内部XML,一个简单的grep给了我

$ grep '20160229-9' -r .
./xl/pivotCache/_rels/pivotCacheDefinition1.xml.rels:
<Relationships xmlns="http://schemas.../relationships">
<Relationship Id="rId2" Type="http://schemas.../externalLinkPath" Target="OrderList20160229-9.xlsb" TargetMode="External"/>
<Relationship Id="rId1" Type="http://schemas...relationships/pivotCacheRecords" Target="pivotCacheRecords1.xml"/>
</Relationships>

但PivotTable1的数据源已经在同一张纸上并排替换为SQL查询管道表...

检查引用的pivotCacheRecords1.xml,我得到了源表的旧版本(基于新的基于sql查询的表具有不同的格式,我无法在excel中的任何位置找到这些数据中的项目。) 。它已不再有效。嗯,这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

删除不再存在的数据透视表中缺少的引用源。

  • 将其另存为xlsx。使用7z或任何其他存档管理器打开。
  • 提取文件夹xl\pivotCache\_rels\&amp;检查xmls查找包含对相关外部源文件的引用的xml。
  • 从存档管理器中删除xml&amp;保存生成的xlsx。
  • 在Excel中打开xlsx并再次保存,Excel会抱怨丢失的内容并修复该文件。

使用DB链接表作为源时。 请考虑停用PivotTableOptions>Data>Save Source data with file

完成