Tôi đang sử dụng SDK OpenXml để tạo tệp từ 2013. Tôi đang chạy trên một máy chủ (một phần của một giải pháp máy chủ), do đó, tự động hóa không phải là một lựa chọn.Làm cách nào để tạo một phần tùy chọn khi ánh xạ tới dữ liệu tùy chọn trong phần Word OpenXml?
Về cơ bản tôi có tệp xml được xuất từ hệ thống phụ trợ. Dưới đây là một ví dụ rất đơn giản:
<my:Data
xmlns:my="https://schemas.mycorp.com">
<my:Customer>
<my:Details>
<my:Name>Customer Template</my:Name>
</my:Details>
<my:Orders>
<my:Count>2</my:Count>
<my:OrderList>
<my:Order>
<my:Id>1</my:Id>
<my:Date>19/04/2017 10:16:04</my:Date>
</my:Order>
<my:Order>
<my:Id>2</my:Id>
<my:Date>20/04/2017 10:16:04</my:Date>
</my:Order>
</my:OrderList>
</my:Orders>
</my:Customer>
</my:Data>
Sau đó, tôi sử dụng khung Xml Mapping của Word để ánh xạ dữ liệu này để kiểm soát nội dung:
tôi chỉ đơn giản lặp lại trong các file word, và ghi dữ liệu Xml mới khi tạo tệp mới.
Điều này hoạt động như mong đợi. Khi tôi cập nhật phần xml, nó phản ánh dữ liệu từ chương trình phụ trợ của tôi.
Suy nghĩ, có trường hợp không hoạt động. Nếu một khách hàng không có đơn đặt hàng, nội dung mẫu được lưu trong tài liệu. Dữ liệu xml là:
<my:Data
xmlns:my="https://schemas.mycorp.com">
<my:Customer>
<my:Details>
<my:Name>Some customer</my:Name>
</my:Details>
<my:Orders>
<my:Count>0</my:Count>
<my:OrderList>
</my:OrderList>
</my:Orders>
</my:Customer>
</my:Data>
(xem danh sách đơn hàng trống).
Trong Word, khung xml phản ánh các dữ liệu chính xác (nghĩa là không có nút theo thứ tự):
Nhưng như bạn có thể thấy, nội dung mẫu vẫn còn ở đây.
Về cơ bản, tôi muốn ẩn danh sách đơn đặt hàng khi không có đơn đặt hàng (hoặc ít nhất là một bảng trống).
Tôi có thể làm như thế nào?
PS: Nếu nó có thể giúp đỡ, Tôi đã tải lên từ và các tập tin xml, và một kịch bản PowerShell nhỏ mà tiêm dữ liệu: repro.zip
Chắc chắn - hãy tải tài liệu lên. – Taterhead
@Taterhead: voilà, nó đã được tải lên –