C#和XML电子表格简单的问题

时间:2010-11-15 13:33:41

标签: c# excel xml-spreadsheet

大家好 我有1675行代码。想要在用户单击按钮时将textbox.text插入此xml电子表格,然后在桌面上创建。有可能吗?如何在当前xml电子表格行中插入文本?

例如:

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

请帮助我,为我提供一些非常重要的建议,或者提供一些好的教程。

1 个答案:

答案 0 :(得分:2)

您可以使用LINQ to XML打开Excel 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>