/// <summary> /// Add a new datafield /// </summary> /// <param name="field">The field</param> /// <returns>The new datafield</returns> public ExcelPivotTableDataField Add(ExcelPivotTableField field) { var dataFieldsNode = field.TopNode.SelectSingleNode("../../d:dataFields", field.NameSpaceManager); if (dataFieldsNode == null) { _table.CreateNode("d:dataFields"); dataFieldsNode = field.TopNode.SelectSingleNode("../../d:dataFields", field.NameSpaceManager); } XmlElement node = _table.PivotTableXml.CreateElement("dataField", ExcelPackage.schemaMain); node.SetAttribute("fld", field.Index.ToString()); dataFieldsNode.AppendChild(node); //XmlElement node = field.AppendField(dataFieldsNode, field.Index, "dataField", "fld"); field.SetXmlNodeBool("@dataField", true, false); var dataField = new ExcelPivotTableDataField(field.NameSpaceManager, node, field); ValidateDupName(dataField); _list.Add(dataField); return(dataField); }