Microsoft Excel 讓從其他資料庫和應用程式輕鬆匯入可擴充標記語言 (XML) 資料、將 XML 元素從 XML 架構映射到工作表儲存格,以及匯出修訂後的 XML 資料以便與其他資料庫及應用程式互動。 您可以將這些 XML 功能,想像為將 Office Excel 轉換為具有熟悉的使用者介面的 XML 資料檔案產生器。
本文內容
為什麼在 Excel 中使用 XML?
XML 是一項專門設計在可供人類閱讀的文字檔案中管理及共用結構化資料的技術。 XML 採用企業標準規定,可由各種資料庫和應用程式進行處理。 使用 XML,應用程式設計者可以建立自訂的標籤、資料結構和結構描述。 簡而言之,XML 大幅簡化資料庫、應用程式和組織之間的資料定義、傳輸、驗證和解譯作業。
XML 資料和結構描述檔案
Excel 主要可處理兩種類型的 XML 檔案:
- XML 資料檔案 (.xml),其中包含自訂標籤和結構化的資料。
- 架構檔案 (.xsd) ,包含強制執行規則的結構標籤,如資料型別與驗證。
XML 標準也會定義可延伸樣式表語言轉換 (XSLT) (.xslt) 檔案,這些檔案可用來套用樣式,以及將 XML 資料轉換為不同的呈現格式。 將 XML 檔案匯入至 Excel 之前,以及從 Excel 匯出 XML 檔案之後,您皆可套用這些轉換。 如果 XSLT 檔案是連結至您匯入至 Excel 的 XML 資料檔案,則您可以選擇在將資料加入工作表之前是否套用格式設定,但是只有當使用 Excel 中的 [開啟] 命令開啟 XML 檔案時,您才可以選擇。 請先選擇 [XML 檔案 (*.xml)] 檔案類型,然後再按一下 [開啟] 按鈕,以查看資料夾中的 XML 檔案。
主要 XML 和 Excel 分析藍本
使用 XML 和 Excel,您可以採用全新而輕鬆的方式管理您的活頁簿和資料。 使用 XML 對應,您可以輕鬆地從 Excel 文件中新增、識別和擷取特定的商務資訊。 例如,包含客戶姓名和地址的發票或包含上一季財務結果的報表將不再是靜態的報表。 您可以從資料庫和應用程式中匯入這些資訊,進行修訂,然後再匯出至同一個或其他的資料庫和應用程式。
以下所列出的主要分析藍本是 XML 功能設計目標所涵蓋的範圍:
- 將 XML 元素對應至現有儲存格,以擴充現有 Excel 範本的功能。 因此毋需再重新設計範本就能輕鬆將 XML 資料置入範本或從範本取出。
- 將 XML 元素對應到現有的工作表,使用 XML 資料做為現有計算模型的輸入資料。
- 將 XML 資料檔匯入新活頁簿中。
- 從 Web 服務將 XML 資料匯入您的 Excel 工作表中。
- 將對應儲存格中的資料匯出至 XML 資料檔案,而與活頁簿中的其他資料不相干。
在 Excel 中使用 XML 資料的基本流程圖
下圖顯示當您搭配 Excel 使用 XML 時,不同的檔案和作業會如何搭配運作。 基本上,這個程序共有五個階段:
將 XML 結構檔案 (.xsd) 加入工作簿
將 XML 結構元素映射到個別儲存格或 XML 表格
匯入 XML 資料檔 (.xml) 並將 XML 元素綁定到映射的儲存格
輸入資料、移動映射儲存格,並善用 Excel 功能,同時保留 XML 結構與定義
將映射儲存格中修訂資料匯出至 XML 資料檔案
使用 XML 對應
你可以在 Excel 中建立或開啟工作簿,將 XML 結構檔 (.xsd) 附加到工作簿上,然後使用 XML 來源 工作窗格將結構中的 XML 元素映射到各個儲存格或表格。 將 XML 元素對應至活頁簿後,您就可以將 XML 資料匯入及匯出對應的儲存格。
將 XML 結構描述檔案 (.xsd) 加入活頁簿時,會建立一個 XML 對應。 一般而言,XML 對應是用來建立對應的儲存格,以及管理對應儲存格和 XML 結構描述中個別元素的關係。 此外,當您匯入或匯出 XML 資料檔案 (.xml) 時,這些 XML 對應也會用來將對應儲存格的內容繫結至結構描述中的元素。
您可以建立兩種對應儲存格:單一對應儲存格和重複儲存格 (以 XML 表格的形式出現)。 為了讓您更靈活地設計工作表,您可以將對應儲存格拖曳至工作表上的任何地方,並以任何順序排列,與 XML 結構描述不同也沒有關係。 您也可以選擇對應或不對應哪些元素。
請務必瞭解下列使用 XML 對應的規則:
- 一個活頁簿可包含一或多個 XML 對應。
- 一次只能將一個元素對應至活頁簿中的一個位置。
- 即使同一活頁簿中的多個 XML 對應皆參照相同的結構描述,每一個 XML 對應仍是獨立的實體。
- 一個 XML 對應只能包含一個根項目。 如果您加入的結構描述定義一個以上的根項目,您將會收到提示,請您選擇新 XML 對應要使用的根項目。
使用 [XML 來源] 工作窗格
您使用 [XML 來源] 工作窗格來管理 XML 對應。 如果要開啟工作窗格,請在 [開發人員] 索引標籤的 [XML] 群組中,按一下 [來源]。 下圖顯示此工作窗格的主要功能。
1. 列出已加入工作簿的 XML 映射
2. 顯示目前所列 XML 映射中的 XML 元素階層列表
3. 在處理 XML 原始碼 工作窗格與 XML 資料時設定選項,例如如何預覽資料及控制標題
4. 開啟 XML 地圖 對話框,您可以使用該對話框新增、刪除或重新命名 XML 地圖
5。 驗證您是否能透過目前的 XML 映射匯出 XML 資料
元素類型及其圖示
下表摘要說明 Excel 可以處理的每一個 XML 元素類型,以及用來代表該元素類型的圖示。
| 元素類型 | 圖示 |
|---|---|
| 父項元素 |
|
| 必要的父項元素 |
|
| 重複的父項元素 |
|
| 必要的重複父項元素 |
|
| 子元素 |
|
| 必要的子元素 |
|
| 重複的子元素 |
|
| 必要的重複子元素 |
|
| 屬性 |
|
| 必要的屬性 |
|
| 複雜結構內的簡單內容 |
|
| 複雜結構內的必要簡單內容 |
|
使用單一對應儲存格
單一對應儲存格是已對應至非重複 XML 元素的儲存格。 建立單一對應儲存格的方式是,將非重複 XML 元素從 [XML 來源] 工作窗格拖曳至工作表中的單一儲存格上。
將非重複 XML 元素拖曳至工作表時,您可以使用智慧標籤選擇包含 XML 元素名稱做為上方的標題,或是放在單一對應儲存格的左邊。您也可以使用現有的儲存格值做為標題。
如果儲存格對應至 XML 結構描述定義 (XSD) 資料類型的 XML 元素,且 Excel 會將該資料類型解譯為數字、日期或時間。您也可以在單一對應儲存格中使用公式。
在 XML 表格中使用重複儲存格
XML 表格的外觀和功能類似於 Excel 表格。 XML 表格是已對應至一或多個 XML 重複元素的 Excel 表格。 XML 表格中的每一個欄代表一個 XML 元素。
在下列情況中會建立 XML 表格:
- 在開發者標籤的 XML 群組中 (使用 Import 指令,) 匯入 XML 資料檔案。
- 在 Excel 內使用 Open 指令開啟 XML 資料檔案,然後在「開啟 XML 對話框」中選擇「作為 XML 資料表」。
- 在「取得外部資料」群組的「從其他來源」指令按鈕中, () 資料標籤中的「從 XML 資料匯入」指令匯入 XML 資料檔案,然後在現有工作表中選擇 XML 表格,或在匯入資料對話框中選擇新工作表。
- 從 [XML 來源] 工作窗格中將一或多個重複元素拖曳至工作表時。
當您建立 XML 表格時,會自動使用 XML 元素名稱做為欄名。 您可以變更為任何您想要的欄名。 不過,當您從對應儲存格中匯出資料時,一律會使用原始的 XML 元素名稱。
處理 XML 表格時,[XML 來源] 工作窗格中的 [選項] 按鈕下方有兩個很有用的選項:
- 映射時自動合併元素選取後,Excel 會從多個欄位中建立一個 XML 表格,並放入工作表中。 只要放置多個欄位到同一列上、彼此相鄰,此選項就會作用。 若清除此選項,每一個元素會以各自的 XML 表格出現。
- 我的資料有標題 選取時,現有的標題資料會作為欄位標題,重複你映射到工作表的元素。 若清除此選項,會使用 XML 元素名稱做為欄名。
使用 XML 表格,您可以輕鬆地匯入、匯出、排序、篩選及列印以 XML 資料來源為基礎的資料。 不過,XML 表格在工作表上的排列方式有一些限制。
- XML 表格是以列為基礎,也就是說,它們是從標題列向下排列。 您無法在現有的列上方新增項目。
- 您無法轉置 XML 表格,因此新的項目會新增在左邊。
如果欄對應至 XML 結構描述定義 (XSD) 資料類型的 XML 元素,且 Excel 會將該資料類型解譯為數字、日期或時間,那麼您就可以在欄中使用公式。 如同在 Excel 表格中一樣,當新的列新增至表格時,XML 表格的公式就會填滿。
XML 對應的安全性考量
XML 對應及其資料來源資訊是和 Excel 活頁簿一起儲存,而不是和特定的工作表一起儲存。 惡意使用者可以使用 Microsoft Visual Basic for Applications (VBA) 巨集檢視對應資訊。 此外,如果您將活頁簿儲存為啟用巨集的 Excel Open XML 格式檔案,便可透過 Microsoft 記事本或其他文字編輯程式檢視此對應資訊。
如果您想要繼續使用對應資訊,但是想要移除潛在機密資料來源資訊,您可以從活頁簿中刪除 XML 結構描述的資料來源定義。您仍可匯出 XML 資料,不過必須清除 [XML 對應內容] 對話方塊中的 [在活頁簿中儲存資料來源定義] 核取方塊 (可透過 [開發人員] 索引標籤上 [XML] 群組的 [對應內容] 命令存取)。
如果您在刪除對應之前刪除了活頁簿,資料來源的相關資訊以及其他潛在機密資訊仍會儲存在活頁簿中。 如果您要以更新活頁簿的方式移除機密資訊,請務必在刪除工作表之前刪除 XML 對應,這樣才會永久移除活頁簿中的對應資訊。
使用推斷的結構描述
如果您沒有先新增對應的 XML 結構描述以建立 XML 對應就匯入 XML 資料,Excel 會根據 XML 資料檔案中定義的標籤,嘗試推斷一個結構描述。 推斷的結構描述會和活頁簿儲存在一起,如果活頁簿沒有關聯的 XML 結構描述,推斷的結構描述可以讓您處理 XML 資料。
當您處理擁有推斷結構描述的匯入 XML 資料時,您也可以自訂 [XML 來源] 工作窗格。 如果你在當前 Excel 工作階段匯入與 XML 映射相關的 XML 資料,請從選項按鈕選擇「工作窗格中預覽資料」選項,以顯示元素清單中第一列資料作為範例資料。
您無法將 Excel 推斷的結構描述匯出為個別的 XML 結構描述資料檔案 (.xsd)。 雖然有 XML 結構描述編輯器和其他方式可以建立 XML 結構描述檔案,但是您無法方便地存取它們或瞭解它們的使用方法。
匯出 XML 資料
匯出 XML 資料的方式是匯出工作表中對應儲存格的內容。 當您匯出資料時,Excel 會使用下列規則判斷要儲存的資料以及儲存方式:
- 當選擇性元素存在空白儲存格時,不會建立空項目。當必要元素存在空白儲存格時,則會建立空項目。
- 使用 Unicode 轉換格式 8 (UTF-8) 編碼來撰寫資料。
- 所有命名空間都定義在 Root XML 元素中。
- Excel 覆寫現有的命名空間前置字元。 預設命名空間會獲得 ns0 的前置字元。 連續的命名空間分別指定為 ns1、ns2 到 ns<count> ,其中 <count> 是寫入 XML 檔案的命名空間數量。
- 不保留註解節點。
你可以在開發者標籤的 XML 群組中點選 XML 屬性 ) 然後使用預設啟用的「驗證資料對結構」選項, ( (預設啟用) 來指定 Excel 是否在匯出資料時與 XML 地圖進行驗證。 當你想確保匯出的 XML 資料符合 XML 架構時,點選此選項。
使用 Excel 啟用巨集的 Office Open XML 格式檔案
您可以使用各種不同的檔案格式儲存 Excel 活頁簿,包括 Excel 啟用巨集的 Office Open XML 格式檔案 (.xlsm)。 Excel 有一個定義 Excel 活頁簿內容的已定義 XML 結構描述,包括儲存所有活頁簿資訊 (如資料和屬性) 及定義活頁簿整體結構的 XML 標籤。 自訂應用程式可以使用這個 Excel 啟用巨集的 Office XML 格式檔案。 例如,開發人員可以建立自訂應用程式,搜尋以此格式儲存之多個活頁簿中的資料,然後根據找到的資料建立報告系統。
需要更多協助嗎?
你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。