若要在 Excel 中 匯入 及 匯出 XML 資料 ,請使用將 XML 元素與儲存格中的資料建立關聯的 XML 對應。 此關聯可協助您取得您想要的結果。 若要建立 XML 對應,您需要 XML 結構描述檔案 (.xsd) 和 XML 資料檔案 (.xml) 。 建立 XML 對應之後,您可以依照您想要的方式對應 XML 元素。
秘訣
如需搭配 Excel 使用 XML 的詳細資訊,請參閱 Excel 中的 XML 概觀。
注意
Windows 電腦版 Excel 是唯一提供 XML 對應功能的版本。 這些工具不適用於 Mac 版 Excel 或 Excel 網頁版。
XML 對應是舊版功能。 在許多情況下,請使用 Excel 中的 Power Query 來匯入和轉換 XML 資料,特別是針對複雜或巢狀 XML 結構。
尋找或建立 XML 結構描述和 XML 資料檔案
如果已有其他資料庫或應用程式建立了 XML 結構描述或 XML 資料檔案,您也許已經有這些項目了。 例如,您可能具有以下項目:將資料匯出成這些 XML 檔案格式的企業營運系統應用程式;提供這些 XML 檔案的商業網站或 Web 服務;或是由 IT 部門開發、可自動建立這些 XML 檔案的自訂應用程式。
如果您沒有必要的 XML 檔案,您可以將想要使用的資料儲存為文字檔來建立檔案。 接著可以使用 Access 和 Excel,將文字檔轉換為您所需要的 XML 檔案。 方法如下:
Access
匯入您要轉換的文字檔,並將它連結到新表格。
- 選取 [檔案]> [開啟]。
- 在 [開啟舊檔] 對話方塊中,選取並開啟您要在其中建立新表格的資料庫。
- 選取 [ 外部資料>文字檔],並遵循每個步驟的指示,確定您將資料表連結至文字檔。
Access 即會建立新資料表,並在 [瀏覽窗格] 中顯示該資料表。
將連結資料表中的資料匯出至 XML 資料檔案和 XML 結構描述檔案。
- 在 [匯出] 群組) 中選取 [外部資料>] [其他>XML 檔案] (。
- 在 [匯出 - XML 檔案 ] 對話方塊中,指定檔案名稱和格式,然後選取 [確定]。
結束 Access
Excel
- 根據您從 Access 匯出的 XML 結構描述檔案建立 XML 對應。
如果出現 [多重根目錄] 對話方塊,請務必選擇 [dataroot],好讓您建立 XML 表格。 - 對應 dataroot 元素,藉此建立 XML 表格。 詳細資訊請參閱對應 XML 元素。
- 匯入 XML 檔案 (您從 Access 匯出的檔案)。
或者,您可以使用 Power Query 直接匯入 XML 資料,而不需建立 XML 結構描述檔案。
注意
- 有幾種 XML 結構描述元素架構不受 Excel 支援。 下列 XML 結構描述元素架構就無法匯入 Excel:
- <any> 此元素可讓您包含未由結構描述宣告的元素。
- <anyAttribute> 此元素可讓您包含未由結構描述宣告的屬性。
- 遞迴結構 遞迴結構的常見範例是員工和經理的階層,其中相同的 XML 元素巢狀數層。 Excel 不支援超過一層深的遞迴結構。
- 抽象元素 這些元素應該在結構描述中宣告,但絕不會作為元素使用。 抽象元素取決於被抽象元素替代的其他元素。
- 替代群組 這些群組允許在參照另一個元素的位置交換元素。 元素透過 substitutionGroup> 屬性指出<它是另一個元素替代群組的成員。
- 混合式內容 此內容是透過在複雜類型定義上使用 mixed=“true” 來宣告。 Excel 不支援複雜類型的簡單內容,但支援該複雜類型中定義的子標籤和屬性。
使用範例 XML 結構描述和 XML 資料檔案
下列範例資料包含基本的 XML 元素和結構,如果您沒有 XML 檔案或文字檔案可建立 XML 檔案,則可以用來測試 XML 對應。 如何將此範例資料儲存到電腦上的檔案:
- 選取您要複製的檔案範例文字,然後按 Ctrl+C。
- 啟動 [記事本],然後按 Ctrl+V,貼上範例文字。
- 按下 Ctrl+S,以您所複製之範例資料的檔名和副檔名來儲存檔案。
- 按記事本中的 Ctrl+N,並重複步驟 1-3,以建立第二個範例文字的檔案。
- 結束記事本。
範例 XML 資料 (Expenses.xml)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Root>
<EmployeeInfo>
<Name>Jane Winston</Name>
<Date>2001-01-01</Date>
<Code>0001</Code>
</EmployeeInfo>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Airfare</Description>
<Amount>500.34</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Hotel</Description>
<Amount>200</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Taxi Fare</Description>
<Amount>100.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Long Distance Phone Charges</Description>
<Amount>57.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-01</Date>
<Description>Food</Description>
<Amount>82.19</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Food</Description>
<Amount>17.89</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-02</Date>
<Description>Personal Items</Description>
<Amount>32.54</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Taxi Fare</Description>
<Amount>75.00</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>Food</Description>
<Amount>36.45</Amount>
</ExpenseItem>
<ExpenseItem>
<Date>2001-01-03</Date>
<Description>New Suit</Description>
<Amount>750.00</Amount>
</ExpenseItem>
</Root>
範例 XML 結構描述 (Expenses.xsd)
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Root">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="1" name="EmployeeInfo">
<xsd:complexType>
<xsd:all>
<xsd:element minOccurs="0" maxOccurs="1" name="Name" />
<xsd:element minOccurs="0" maxOccurs="1" name="Date" />
<xsd:element minOccurs="0" maxOccurs="1" name="Code" />
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="ExpenseItem">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Date" type="xsd:date"/>
<xsd:element name="Description" type="xsd:string"/>
<xsd:element name="Amount" type="xsd:decimal" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
建立 XML 對應
將 XML 結構描述新增至活頁簿以建立 XML 對應。 您可以從 XML 結構描述檔案 (.xsd) 複製結構描述,或者 Excel 可以嘗試從 XML 資料檔案 (.xml) 推斷一個結構描述。
選取 [開發人員>來源]。
如果沒有看到 [開發人員] 索引標籤,請參閱顯示開發人員索引標籤。在 [XML 來源 ] 工作窗格中,選取 [XML 地圖],然後選取 [ 新增]。
在 [尋找] 清單中,選取包含您要開啟之檔案的磁碟機、資料夾或網際網路位置。
選取檔案,然後選取 [ 開啟]。
- 針對 XML 結構描述檔案,Excel 會根據 XML 結構描述建立 XML 對應。 如果出現 [多重根目錄] 對話方塊,請選擇 XML 結構描述檔案中所定義的其中一個根節點。
- 對於 XML 資料檔案,Excel 會嘗試從 XML 資料中推斷出 XML 結構描述,然後建立 XML 對應。
選取 [確定]。
XML 對應會出現在 XML 來源 工作窗格中。
對應 XML 元素
將 XML 元素對應至 XML 表格中的單一對應儲存格和重複儲存格,以便在 XML 結構描述中建立儲存格和 XML 資料元素之間的關聯。
選取 [開發人員>來源]。
如果沒有看到 [開發人員] 索引標籤,請參閱顯示開發人員索引標籤。在 [XML 來源] 工作窗格中,選取您要對應的元素。
若要選取不相鄰的元素,請選取一個元素,然後按住 Ctrl 並選取您想要對應的每個元素。若要對應元素,請完成下列步驟:
在選取的元素上按一下滑鼠右鍵,然後選取「 對應元素」。
在 [對應 XML 元素 ] 對話方塊中,選取儲存格,然後選取 [確定]。
秘訣
您也可以拖曳所選取的元素到您想要其在工作表上出現的位置。
已對應的元素會在 [XML 來源] 工作窗格以粗體字型表示。
決定您想要處理標籤和欄標題的方式:
當您拖曳非重複的 XML 元素到工作表,以建立單一對應儲存格時,會顯示有三個命令的智慧標籤,您可以用來控制標題或標籤的位置:
我的資料已有標題 選取此選項可忽略 XML 元素標題,因為儲存格的標題 (已位於資料左側或資料) 上方。
將 XML 標題放在左側 選取此選項即可使用 XML 元素標題作為資料) 左側 (的儲存格標籤。
將 XML 標題放在上方 選取此選項即可使用 XML 元素標題做為資料) 上方的儲存格標題 (。當您拖曳重複 XML 元素到工作表,以在 XML 表格中建立重複儲存格時,XML 元素的名稱會自動做為表格的欄標題。 不過,您可以透過編輯欄標題儲存格,將欄標題變更為任何您想要的標題。
在 [XML 來源 ] 工作窗格中,選取 [ 選項] 以進一步控制 XML 表格行為:
對應時自動合併元素 選取此核取方塊時,Excel 會在您將元素拖曳到 XML 表格旁邊的儲存格時自動展開 XML 表格。
我的資料有標題 選取此核取方塊後,當您將重複的元素對應到工作表時,現有資料可做為欄標題。注意
- 如果所有的 XML 命令都呈現灰色,而您無法將 XML 元素對應到任何儲存格,表示活頁簿可能設為共用。 選取 [檢閱>共用活頁簿] 以確認這一點,並視需要將其從共用使用中移除。
如果要在您想共用的活頁簿中對應 XML 元素,請將 XML 元素對應到您要的儲存格、匯入 XML 資料、移除所有的 XML 對應,然後共用活頁簿。 > - 如果您無法將包含資料的 XML 資料表複製到另一個活頁簿,則 XML 資料表可能會有定義資料結構的相關聯 XML 對應。 雖然這個 XML 對應是儲存在活頁簿中,當您將 XML 表格複製到新的活頁簿時,並不會自動包含此 XML 對應。 Excel 會建立一個包含相同資料的 Excel 表格,而不是複製 XML 表格。 如果您想要將新的資料表設為 XML 資料表,請完成下列步驟: > 1. 使用您建立原始 XML 對應所用的 .xml 或 .xsd 檔案,將 XML 對應新增到新活頁簿。 如果您要將 XML 對應新增到其他活頁簿,則需要儲存這些檔案。 > 1. 將 XML 元素對應至表格,使其成為 XML 表格。 > > - 當您將重複的 XML 元素對應至合併的儲存格時,Excel 會取消合併該儲存格。 這是意料中的事,因為重複元素是設計為只能用在取消合併的儲存格中。
您可以將單一、非重複的 XML 元素對應到合併的儲存格,但是不能將重複的 XML 元素 (或是包含重複元素的元素) 對應到合併的儲存格。 儲存格取消合併,且元素會對應至指標所在的儲存格。
秘訣
- 您可以取消對應您不想要使用的 XML 元素,或防止在匯入 XML 資料時覆寫儲存格內容。 例如,您可以從單一儲存格或含有您在匯入 XML 檔案時不想覆寫之公式的重複儲存格,暫時取消對應 XML 元素。 匯入完成後,您可以再次將 XML 元素對應到公式儲存格,以便將公式的結果匯出至 XML 資料檔案。
- 若要取消對應 XML 元素,請在 [XML 來源 ] 工作窗格中以滑鼠右鍵按一下其名稱,然後選取 [移除元素]。
顯示開發人員索引標籤
如果您沒有看到 [開發人員 ] 索引標籤,請依照下列步驟來顯示:
- 選取 [檔案選項]>。
- 選取 [自訂功能區 ] 類別。
- 在 [主要索引標籤] 底下,勾選 [開發人員] 方塊,然後選取 [確定]。