匯出 XML 資料

Applies To
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

在匯入 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 資料 ()

  1. 按一下 [開發人員>匯出]。
    如果沒有看到 [開發人員] 索引標籤,請參閱顯示開發人員索引標籤

  2. 如果出現小型 的匯出 XML 對話方塊,請按一下您要使用的 XML 對應 ,然後按一下確定。
    只有在未選取 XML 資料表,且活頁簿有多個 XML 對應時,才會出現此對話方塊。

  3. 在大型 [匯出 XML] 對話方塊的 [檔案名稱] 方塊中,輸入 XML 資料檔案的名稱。

  4. 按一下 [匯出]

    注意

    如果您工作表的標題或標籤與 XML 對應中的 XML 元素名稱不同,當您從工作表匯出或儲存 XML 資料時,Excel 會使用 XML 元素名稱。

匯出 XML 資料 (超過 65,536 列)

  1. 從檔案中資料列的總數減去 65537。 這會提供 x 列數。
  2. 從 Excel 工作表的開頭刪除 x 列。
  3. 將工作表匯出為 XML 資料檔案 (請參閱上一節的程序) 。
  4. 按一下 [關閉], 但不要儲存工作表。 接著,重新開啟 Excel 工作表。
  5. 刪除總計 x 後的所有項目,然後匯出為 XML 資料檔 (請參閱上一節的程序) 。
    這個程序會提供您資料列的剩餘部分。 此時,您將會有兩個 XML 匯出檔案,您可以將其合併以建立原始工作表的複本。

將對應儲存格中的 XML 資料儲存至 XML 資料檔案

如需舊版 XML 功能的回溯相容性,建議您將檔案儲存至 XML 資料檔案 (. xml),而非使用 [匯出] 命令。

  1. 按下 Ctrl+S 儲存檔案。
    此步驟可確保將活頁簿儲存為 XML 資料檔案時,您對活頁簿所做的任何變更都不會遺失。
  2. 按一下 [檔案>另存新檔],然後選取您要儲存檔案的位置。
    僅限在 Excel 2007 中,按一下 [Microsoft Office 按鈕] Office 按鈕影像,指向 [另存新檔] 旁的箭號,然後按一下 [其他格式]。
  3. [檔案名稱] 方塊中,輸入 XML 資料檔案的名稱。
  4. 在 [ 另存成類型 ] 清單中,按一下 [XML 資料],然後按一下 [ 儲存]。
  5. 如果您收到訊息,表示將檔案儲存為 XML 資料可能會導致功能遺失,請按一下 [繼續]。
  6. 如果出現小型 的匯出 XML 對話方塊,請按一下您要使用的 XML 對應 ,然後按一下確定。
    只有在未選取 XML 資料表且活頁簿有多個 XML 對應時,才會出現此對話方塊。
  7. 在大型 [匯出 XML] 對話方塊的 [檔案名稱] 方塊中,輸入 XML 資料檔案的名稱。
  8. 按一下 [匯出]

注意

如果您工作表的標題或標籤與 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 元素對應至工作表:

  1. 按一下 [開發人員>來源]。
    [開發人員] 索引標籤上的 XML 命令
    如果沒有看到 [開發人員] 索引標籤,請參閱顯示開發人員索引標籤
  2. [XML 來源] 工作窗格 中,選取要對應至工作表的項目。
    若要選取不相鄰的項目,請按一下其中一個項目,按住 CTRL,然後按一下每個項目。
  3. 拖曳所選取的項目到您要其在工作表上出現的位置。

如果您尚未將 XML 對應新增至活頁簿,或您的資料不在 XML 資料表中,請將活頁簿儲存為 Excel Macro-Enabled 活頁簿檔案格式 (.xlsm) 。

需要更多協助嗎?

您隨時都可以詢問 Excel 技術社群 中的專家,或在 社群中取得支援。

另請參閱

Excel 中的 XML 概觀

將 XML 元素對應至 XML 對應中的儲存格