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