C# и XML-таблица простой вопрос

Привет, ребята, у меня есть 1675 строк кода. Хотите, когда пользователь нажимает кнопку textbox.text, вставьте в эту электронную таблицу XML, а затем создайте на рабочем столе. это возможно? Как вставить текст в текущую строку таблицы xml?

Например:

  ` <Cell ss:StyleID="s38"/>
    <Cell ss:StyleID="s39">
    <Data ss:Type="String">ვაშლიჯვარი</Data>
    </Cell>
    <Cell ss:StyleID="s36"/>`

Пожалуйста, помогите мне, посоветуйте что-нибудь очень важное для меня или дайте хорошие уроки.

1 ответ

Решение

Вы можете открыть файл Excel XML, используя LINQ to XML. Вы можете изменить XML DOM по своему усмотрению. Вам нужно будет сопоставить ячейки на листе Excel с элементами XML. Затем вы можете сохранить измененный XML DOM, чтобы создать новый и измененный файл Excel XML.

Вот небольшой пример, чтобы вы начали:

var xDocument = XDocument.Load("EL-Zednadebi.xml");
// XML elements are in the "ss" namespace.
XNamespace ss = "urn:schemas-microsoft-com:office:spreadsheet";
var rows = xDocument.Root.Element(ss + "Worksheet")
  .Element(ss + "Table").Elements(ss + "Row");
// Row 12.
var row = rows.ElementAt(11);
var cells = row.Elements(ss + "Cell");
// Column U.
var cell = cells.ElementAt(20);
var data = cell.Element(ss + "Data");
// Replace the text in the cell.
data.Value = "Martin Liversage";
xDocument.Save("EL-Zednadebi-2.xml");

Этот код предполагает следующий упрощенный XML:

<Workbook>
  ...
  <Worksheet>
    <Table>
       ...
       <Row> <-- Row at index 11
         ...
         <Cell> <-- Column at index 20
           <Data>ვაშლიჯვარი</Data>
         <Cell>
         ...
       </Row>
       ...
    </Table>
    ...
  </Worksheet>
  ...
</Workbook>
Другие вопросы по тегам