2011-11-18 34 views
9

Tôi đã có một bản đồ XML trên trang tính Excel 2010, mà tôi làm mới từ nội dung của tệp XML một cách thường xuyên. Gần đây tôi đã thêm một trường mới vào dữ liệu XML và muốn điều này hiển thị trên bản đồ XML của tôi.Excel Thêm một trường vào một bản đồ Xml

Tôi chỉ đơn giản muốn có thể thêm trường mới tuy nhiên nó xuất hiện mặc dù bị bệnh phải nhập lại toàn bộ cấu trúc, tôi không muốn làm điều này vì nó sẽ yêu cầu phát triển lại rất nhiều tùy chỉnh.

Bất kỳ trợ giúp nào được đánh giá cao.

Trả lời

5

Thật không may là không có phương pháp "làm mới" dễ dàng cho lược đồ trong mô hình đối tượng XML trong Excel tại thời điểm này. Các XML Toolbox for Excel 2003 được sử dụng để có thể làm điều này, nhưng tôi không chắc chắn nếu điều này vẫn chạy trong Excel 2010 (giá trị một thử). Thay thế cho điều này là viết mã VBA của riêng bạn để nhập lược đồ "mới" vào bản đồ mới, sau đó xem bản đồ phần tử hiện có cho lược đồ "cũ" và sau đó remap chúng vào lược đồ "mới", cuối cùng xóa cái cũ. Âm thanh một chút lông tôi biết, nhưng nếu lược đồ của bạn không thay đổi đáng kể sau đó nó có thể là câu trả lời.

Có một phương pháp kém duyên dáng hơn điều này, bao gồm việc thay đổi giản đồ trong XML cơ bản của sổ làm việc. Nếu có một cái nhìn bên trong cấu trúc bảng tính theo thư mục xl, bạn sẽ thấy rằng có một tệp có tên xmlMaps.xml và bên trong tệp này sẽ là bản sao lược đồ của bạn - bạn có thể chỉnh sửa trực tiếp (thêm các phần tử mới v.v.) và các trường mới sau đó sẽ hiển thị để sử dụng trong sổ làm việc của bạn khi bạn mở lại trong Excel, để nguyên định dạng ô ban đầu của bạn không thay đổi.

+0

Hộp công cụ là khó chịu, trước tiên nó yêu cầu .NET framework 1.1, sau đó từ chối cài đặt với lý do không xác định, vì vậy tôi phải giải nén thủ công các tệp từ msi và khi cuối cùng tôi xuất hiện Excel, nút Reload XML Map sẽ hiển thị hộp thoại remapping, nhưng không có lược đồ nào được liệt kê trong nó. Liệu nó chỉ làm việc với các lược đồ ánh xạ tới một nguồn dữ liệu (của chúng ta không)? – GSerg

4

tôi trích xuất xlsx như một zip và đã có thể thực hiện những thay đổi bằng tay mà không cần phải xóa và thêm ánh xạ một lần nữa theo các hướng dẫn trên trang web này: http://davidovitz.blogspot.com/2010/05/howto-refresh-xml-schema-in-excel.html

+0

Vì vậy, các bước là bạn giải nén các tập tin sau đó bạn cập nhật (thay thế xmlMaps.xml) thì bước tiếp theo để chuyển đổi nó trở lại một tập tin excel là gì? – akd

2

Đây không phải là chính xác những gì OP hỏi cho, nhưng nó hoạt động trong trường hợp của tôi, vì vậy tôi đang bổ sung thêm nó như là một giải pháp có thể xảy ra (sử dụng Office 2013)

  1. nhấp chuột phải vào băng của bạn và Enable Developer Tools

enter image description here

  1. Đến Developer Tools mới phần trên băng của bạn và nhấp Nguồn

enter image description here

  1. Điều này sẽ mở ra một flyout bên tay phải. Các phần tử in đậm hiện được ánh xạ tới các cột của bạn. Lưu ý nơi mọi thứ bản đồ bằng cách nhấp vào chúng. Trong trường hợp của tôi nó đã được khá đơn giản với các yếu tố đầu tiên lập bản đồ để cột A, vv Sau đó nhấp chuột phải vào bất cứ điều gì in đậm và unmap nó.

enter image description here

  1. Nhấp vào XML Maps nút ở phía dưới của flyout

  2. Bấm Thêm và điều hướng đến một tập tin hoặc nhập URL

enter image description here

  1. Tháo lập bản đồ cũ nếu bạn muốn

  2. Highlight tất cả các yếu tố mới của bạn và nhấp chuột quyền chuyển nhượng một bản đồ mới. Sử dụng các ghi chú bạn đã ghi lại trước đó để làm điều này. Một lần nữa, trường hợp của tôi rất đơn giản vì các cột chỉ được nối thêm vào cuối. Nếu bạn có các cột được thêm vào ở giữa, bạn sẽ muốn remap chúng vào cuối bảng của bạn.

+0

Tính năng này không hoạt động trong Office 2016 cho tôi. Bước "Thêm" đang từ chối mục nhập URL. – mrtsherman

+0

Tôi đã sử dụng quy trình làm việc tương tự, hoạt động tốt khi cột bị xóa hoặc thêm ở giữa và nếu bạn không cần nhiều ánh xạ: 1) xóa Bản đồ XML cũ 2) thêm Bản đồ XML mới 3) tạo lại ánh xạ cho mỗi phần tử bằng cách kéo và thả từng phần tử từ ngăn nguồn XML vào cột của bảng hiện tại (hoặc vào một cột mới). – Kapep

Các vấn đề liên quan