Простой вопрос в электронной таблице С# и XML

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

Например:

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

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


person Irakli Lekishvili    schedule 15.11.2010    source источник
comment
Какое программное обеспечение будет использоваться для открытия электронной таблицы на рабочем столе? Эксель? Или что-то другое?   -  person DOK    schedule 15.11.2010
comment
да excel, я просто хочу сохранить или создать новую заполненную таблицу xml   -  person Irakli Lekishvili    schedule 15.11.2010
comment
rapidshare.com/files/431000496/EL-Zednadebi.xml это файл   -  person Irakli Lekishvili    schedule 15.11.2010


Ответы (1)


Вы можете открыть XML-файл Excel с помощью 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>
person Martin Liversage    schedule 15.11.2010