Excel 2007之後支援XML的編輯,剛好同事有需求要讓使用者用Excel編輯,
但是要轉出XML,讓其他的程式可以直接以XML匯入資料。
XML的格式希望如下,先儲存為dept.xml:
開啟Excel,點選「開發人員」-->「來源」
如沒有看到「開發人員」,則先選擇「檔案」-->「選項」,
將「開發人員」的欄位打勾,就會顯示在工具列上了。如下圖:
活頁簿的右邊就會出現「XML來源」,選擇「XML對應」會彈出視窗,再選擇「新增」,選擇dept.xml
「XML來源」會自動對應XML每個TAG,如下圖(dept.xml)的範例,
對應成功後,將TAG拉到活頁簿的儲存格,我把「header1」拉到儲存格B2;
把整個「user」群組拉到儲存格A1,Excel會自動把「user」群組底下的欄位自動填上。
這裡有一點要注意的是「header1」,由dept.xml可以知道,「header1」是一個單獨的部門名稱,
不在「user」群組裡面,所以不能直接將「dept」群組直接拉到活頁簿,如下圖。
這樣的格式會導致在另存為XML時,因為與原始的XML格式違背,也就是「header1」會有重複的情形。
因為英文的欄位名稱不易辨識,所以將欄位名稱改為中文,因為儲存格的XML對應不是以名稱來辨別,
所以更改名稱不會影響本身的對應,轉出XML也會以XML TAG來儲存。
接著將它存成副檔名.xlsx,再交使用者編輯即可。
資料輸入完成後,要轉出XML檔案,只要在另存新檔時,選擇「.xml」格式儲存就可以了。