OpenXML:如何修改excel的cell属性?

时间:2018-03-25 03:32:13

标签: c# excel openxml

给出以下XML标记:

<x:c r="C1" s="9"/>   

使用OpenXMLReader,我想访问单元格C1并修改xml属性以添加新的数据类型t="inlineStr",这样我就可以按如下方式向单元格插入文本:

<x:c r="C1" s="9" t="inlineStr"/> 
  <x:is>
       <x:t>Report Title</x:t>
  </x:is>  

这是我访问单元格的代码:

if (oXMLReader.ElementType == typeof(Cell))
{
   if (oXMLReader.Attributes.First(a => a.LocalName == "r").Value == "C1")
   {
     //to do: modify the cell attributes to include t="s"
     oXMLWriter.WriteElement(new CellValue("Report Title"));
   }
}

如何修改单元格属性以包含t=s

1 个答案:

答案 0 :(得分:0)

这是您使用文字

创建内联Cell的方法
public Cell CreateInlineTextCell(string columnName, int rowIndex, string input)
{
    string cellReference = columnName + rowIndex;
    var cell = new Cell
    {
        DataType = CellValues.InlineString,
        CellReference = cellReference
    };

    var inlineString = new InlineString();
    var text = new Text { Text = input };
    inlineString.AppendChild(text);
    cell.AppendChild(inlineString);

    return cell;
}