C # и XML-таблица простой вопрос - PullRequest
1 голос
/ 15 ноября 2010

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

Например:

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

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

1 Ответ

2 голосов
/ 15 ноября 2010

Вы можете открыть файл 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>
...