Tôi khá mới với thế giới lập trình, vì vậy câu hỏi này có thể ngớ ngẩn, nhưng tôi bị kẹt và hy vọng sẽ nhận được sự trợ giúp.sử dụng ký tự ':' trong XDocument để tạo Excel - C#
Tôi đang sử dụng XDocument để thay đổi và thêm thông tin vào trang tính Excel (là tài liệu XML), trong một dự án để lấy báo cáo Excel ra khỏi Autodesk Revit. Các tài liệu bảng tính bao gồm các thông tin bảng tính bao gồm các hàng và các tế bào trong cấu hình này:
<row r="11" spans="1:11" x14ac:dyDescent="0.2">
<c r="A11" s="198" t="inlineStr">
<is>
<t>example</t>
</is>
</c>
<c r="B11" s="199" t="inlineStr">
<is>
<t>string</t>
</is>
</c>
<c r="C11" s="200"/>
<c r="D11" s="201"/>
<c r="E11" s="201"/>
<c r="F11" s="202"/>
<c r="G11" s="203"/>
<c r="H11" s="204"/>
<c r="I11" s="205"/>
<c r="J11" s="205"/>
<c r="K11" s="206"/>
</row>
Phần liên quan của mã này là trong phần tử liên tiếp. Thuộc tính kéo dài có giá trị là "1:11" và đó là vấn đề của tôi. Nó sẽ không cho phép tôi nhập ký tự ':' làm giá trị của thuộc tính. Tôi đã tìm kiếm trên mạng và thấy rằng nó có liên quan đến việc khai báo không gian tên tại liên kết này: "The ':' character, hexadecimal value 0x3A, cannot be included in a name"
Tuy nhiên, việc nhận giá trị thuộc tính này là bắt buộc đối với hoạt động của Excel tài liệu. Tôi tạo phần tử hàng như sau:
XElement row = new XElement("row",
new XAttribute("r", i.ToString()),
new XAttribute("spans", "1:" + collumnCount.ToString()),
new XAttribute("x14ac:dyDescent", "0.2"));
Tôi không hiểu tại sao nó không cho phép tôi đặt ':' vào giá trị của thuộc tính XAttribute vì đây chỉ là một chuỗi. Có cách nào để thực hiện công việc này không?
Tôi đã thử thêm chuỗi "1:11" vào XMLAttribute, sử dụng XMLDocument. Điều này không làm việc, nhưng tôi không thể tin rằng nó không thể với XDocument.
Cảm ơn trước
Nó không phải là ** Giá trị thuộc tính ** của 'spans' đó là đem lại cho bạn lỗi này, nó tên thuộc tính ** ** 'x14ac: dyDescent'. Bạn sắp bước vào thế giới tuyệt vời của không gian tên xml ... chúc may mắn :) – AakashM
ow, tôi hiểu rồi ... Ngu ngốc của tôi :) Cảm ơn bạn, thưa bạn, vì phản ứng nhanh của bạn! – jasperdesmet
Ôi trời ơi, tại sao câu hỏi này vẫn mở? @AakashM nên đặt câu trả lời này như một câu trả lời. –