在匯入 XML 資料、將資料對應至工作表中的儲存格,並對資料進行變更之後,您通常想要將資料匯出或儲存為 XML 檔案。
重要
- 匯出 XML 資料之前,您必須先啟用功能區上的 [ 開發人員 ] 索引標籤。 請參閱顯示開發人員索引標籤。
- 建立 XML 對應,並將 Excel 中的資料匯出為 XML 資料檔案時,可以匯出的資料列數有限制。 從 Excel 匯出至 XML 將最多儲存 65,536 列。 如果您的檔案超過 65,536 列,Excel 會匯出前 (#ROWS mod 65537) 列。 例如,如果您的工作表有 70,000 列,Excel 將會匯出 70000 mod 65537 = 4464 列。 我們的建議是 1) 改為使用 xlsx,或 2) 將檔案儲存為 XML 試算表 2003 (.xml) ,這會遺失對應,或 3) 刪除 65,536 之後的所有資料列,然後再次匯出,這會保留對應,但遺失檔案結尾的資料。
匯出不超過 65,536 列的 XML 資料 ()
按一下 [開發人員>匯出]。
如果沒有看到 [開發人員] 索引標籤,請參閱顯示開發人員索引標籤。如果出現小型 的匯出 XML 對話方塊,請按一下您要使用的 XML 對應 ,然後按一下確定。
只有在未選取 XML 資料表,且活頁簿有多個 XML 對應時,才會出現此對話方塊。在大型 [匯出 XML] 對話方塊的 [檔案名稱] 方塊中,輸入 XML 資料檔案的名稱。
按一下 [匯出]。
注意
如果您工作表的標題或標籤與 XML 對應中的 XML 元素名稱不同,當您從工作表匯出或儲存 XML 資料時,Excel 會使用 XML 元素名稱。
匯出 XML 資料 (超過 65,536 列)
- 從檔案中資料列的總數減去 65537。 這會提供 x 列數。
- 從 Excel 工作表的開頭刪除 x 列。
- 將工作表匯出為 XML 資料檔案 (請參閱上一節的程序) 。
- 按一下 [關閉], 但不要儲存工作表。 接著,重新開啟 Excel 工作表。
- 刪除總計 x 後的所有項目,然後匯出為 XML 資料檔 (請參閱上一節的程序) 。
這個程序會提供您資料列的剩餘部分。 此時,您將會有兩個 XML 匯出檔案,您可以將其合併以建立原始工作表的複本。
將對應儲存格中的 XML 資料儲存至 XML 資料檔案
如需舊版 XML 功能的回溯相容性,建議您將檔案儲存至 XML 資料檔案 (. xml),而非使用 [匯出] 命令。
- 按下 Ctrl+S 儲存檔案。
此步驟可確保將活頁簿儲存為 XML 資料檔案時,您對活頁簿所做的任何變更都不會遺失。 - 按一下 [檔案>另存新檔],然後選取您要儲存檔案的位置。
僅限在 Excel 2007 中,按一下 [Microsoft Office 按鈕]
,指向 [另存新檔] 旁的箭號,然後按一下 [其他格式]。 - 在 [檔案名稱] 方塊中,輸入 XML 資料檔案的名稱。
- 在 [ 另存成類型 ] 清單中,按一下 [XML 資料],然後按一下 [ 儲存]。
- 如果您收到訊息,表示將檔案儲存為 XML 資料可能會導致功能遺失,請按一下 [繼續]。
- 如果出現小型 的匯出 XML 對話方塊,請按一下您要使用的 XML 對應 ,然後按一下確定。
只有在未選取 XML 資料表且活頁簿有多個 XML 對應時,才會出現此對話方塊。 - 在大型 [匯出 XML] 對話方塊的 [檔案名稱] 方塊中,輸入 XML 資料檔案的名稱。
- 按一下 [匯出]。
注意
如果您工作表的標題或標籤與 XML 對應中的 XML 元素名稱不同,當您從工作表匯出或儲存 XML 資料時,Excel 會使用 XML 元素名稱。
匯出 XML 資料時的常見問題
匯出 XML 資料時,您可能會收到下列類似訊息。
可以匯出 XML 對應,但未對應某些必要元素
此訊息可能有以下幾個原因:
- 與此 XML 表格相關聯的 XML 對應有一或多個未對應至 XML 表格的必要元素。
XML 來源工作窗格中的項目階層式清單中,會在每一個項目左邊圖示的右上角放置紅色星號,指出其為必要項目。 若要對應必要項目,請將它拖曳至您要其出現的工作表位置。 - 項目是遞迴結構。
遞迴結構的常見範例是相同的 XML 項目在員工和管理者的階層中形成好幾個巢狀層級。 雖然您可能已對應 [XML 來源] 工作窗格中的所有項目,但 Excel 不支援包含多層級深度的遞迴結構,因此無法對應所有項目。 - XML 表格包含混合的內容。
當項目具有子項目,且子項目外部有簡單文字時,即會出現混合的內容。 一種常見的情況是使用格式化標籤 (如粗體標籤) 來標註項目之內的資料。 雖然可以顯示子項目 (如果 Excel 有支援),但文字內容在匯入資料時會遺失、匯出資料時會無法使用,因此無法以來回方式處理。
無法匯出活頁簿中的 XML 對應
如果無法保留對應元素與其他元素的關係,則無法匯出 XML 對應。 無法保留此關聯的原因如下:
對應項目的結構描述定義包含在具下列屬性的序列中:
- maxoccurs 屬性不等於 1。
- 序列已定義多個直接子元素,或有另一個合成器做為直接子元素。
非重複的同層級項目 (擁有相同的重複父項目) 對應到不同的 XML 表格。
多個重複元素會對應至相同的 XML 表格,而且重複不是由上階元素所定義。
來自不同父系的子項目對應到相同的 XML 表格。
此外,如果 XML 對應具有下列其中一個 XML 結構描述建構,就無法匯出:
- 清單的清單 一個項目清單,其擁有第二個項目清單。
- 非正規化資料 XML 資料表中已在結構描述中定義的元素,一旦 maxOccurs 屬性設定為 1) (,該元素就會發生。 當您將這類元素新增至 XML 表格時,Excel 會以該元素的多個執行個體填入表格欄。
- 選擇對應的元素是選擇>結構描述建構的一部分<。
Excel 無法儲存活頁簿,因為它沒有任何對應的範圍
除非您建立一或多個對應範圍,否則 Excel 無法將活頁簿儲存在 XML 資料檔中。
如果您已將 XML 對應新增至活頁簿,請依照下列步驟將 XML 元素對應至工作表:
- 按一下 [開發人員>來源]。
如果沒有看到 [開發人員] 索引標籤,請參閱顯示開發人員索引標籤。 - 在 [XML 來源] 工作窗格 中,選取要對應至工作表的項目。
若要選取不相鄰的項目,請按一下其中一個項目,按住 CTRL,然後按一下每個項目。 - 拖曳所選取的項目到您要其在工作表上出現的位置。
如果您尚未將 XML 對應新增至活頁簿,或您的資料不在 XML 資料表中,請將活頁簿儲存為 Excel Macro-Enabled 活頁簿檔案格式 (.xlsm) 。
需要更多協助嗎?
您隨時都可以詢問 Excel 技術社群 中的專家,或在 社群中取得支援。