Excel表格複製後,為什麼其中的透視表數據源還連接在原文件,如何能設置為本地數據源?

因為表格想要達到僅更改本表數據源,使用了雙重透視表以達到自動生成數據的效果。但是表格複製後數據源卻連接原表數據源。因為連接的透視表較多,如果一個一個更改數據源未免過於麻煩,能否設置為本地數據源,並在複製後保持。


要自動更改鏈接 那麼鏈接的文件必須在同一個根目錄下 就是說 你再目錄M 的文件A 鏈接的B 【那麼B如果也在M下面 或者M的子目錄里 】那麼 整個M文件夾複製到其他地方 是可以正常引用的 但是如果你的B文件是另一個其他的文件夾里,就成為了絕對鏈接 文件夾M複製到其他地方則無法正常引用

簡單點說 要引用其他表的文件應該放在工作目錄頂層 其他鏈接的文件放在工作目錄或者其子目錄下

這樣工作目錄整體複製即可保持連接


有關鏈接這個事情,我比較有研究。你們說的這個情況,office2016中,其實只要選擇xls或xlsb文件就能解決,我已經測試過了,二進位結構的文檔是相對引用,xml結構的文件這方面有缺陷,微軟沒改好。如果是右鍵新建的xlsx文件,xlsx與xlsx之間是絕對鏈接,如果是正常新建的xlsx文件則是相對鏈接,要替換C:WindowsShellNew里的文件才行。而docx和xlsx之間的選擇性粘貼也是絕對鏈接,doc和xls則是相對鏈接,如此錯亂的狀況,一定是微軟臨時工乾的。所以說,要使用相對鏈接的話,最好使用xls、xlsb和doc,二進位文件是微軟的內部格式,各方面都比xml要好。本來docb應該也能保持doc的特性,但是微軟居然沒出這個格式,不知搞的什麼鬼,我現在正等這格式用呢。

2017/1/3

右鍵新建的xlsx文件絕對鏈接改相對鏈接的解決方法:

打開excel,新建一個空白文檔,另存為EXCEL12.XLSX,覆蓋掉C:WindowsSHELLNEW里的同名文件。以前已經通過這種方式新建的xlsx,無法直接在原文件中將絕對鏈接改成相對鏈接,只能新建一個正常的xlsx的文件,然後打開損壞的文件,按住ctrl,將工作表拖到新的xlsx中,相當於是遷移過去。如果不按住ctrl,老文檔中就不再保存工作表了。但這種轉移方法不適用於所有情況,尤其是工作表內帶有指向同簿異表時,轉移後會指向老文件的工作表,要根據表格內部的鏈接情況來取捨或修改。

以後安裝office2016後,不要忘記用正常的EXCEL12.XLSX覆蓋C:WindowsSHELLNEW的同名文件。

對於複雜的鏈接表,尤其是word和excel的鏈接文件,不推薦使用xlsx和docx,問題太多。暫時先採用xls和doc吧。

2017/11/25

損壞文件的修復方法:

如果損壞的xlsx文件已經產生了數據,保存了數據透視表等內容,另存為其他文件後,數據透視表中的路徑仍然會指向老文件,需要手動修改地址,一種是在文件中直接改,另一種是將文件擴展名改成zip,打開xlpivotCachepivotCacheDefinition1.xml,找到類似&的語句,將其中的r:id="rId2"刪除。每個透視表會有一個對應的文件。

對於帶有鏈接的單元格,也會指向老文件,修改方法是打開zip文件中的xlexternalLinks\_relsexternalLink1.xml.rels,改成類似target="1.xlsx"這種寫法,將文件名前的路徑全部刪除。

2018/5/8


樓主找到方法了,我都是吧數據放在U盤上,這樣換一個電腦 之後,數據源就無法更新了


簡單來說,這個叫做思路透視表,緩存


樓主找到解決辦法了么。。。QAQ


我以前也是,複製到另外一個文件夾後會自動更新到該文件夾下的數據源。

但更新2013後,就不行了,不知道你解決了沒有。


推薦閱讀:

TAG:MicrosoftExcel | Excel公式 | MicrosoftExcel2007 | Excel使用 |