Creating a workbook and using the CreateNamedStyles method results in a file that does not pass validation. I am using the following code to create a Excel spreadsheet:<br /><br /> using (ExcelPackage package = new ExcelPackage(newFile))<br /> {<br /> // add a new worksheet to the empty workbook<br /> ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Inventory");<br /> worksheet.Cells["A1"].Value = "ID";<br /> package.Workbook.Styles.CreateNamedStyle(string.Concat("Syle_", "A1"));<br /> package.Save();<br /> }<br /><br />The resulting output file contains a cellXfs record with the xfId of -2147483648 which is the default value of int.MinValue<br /><br /> <xf numFmtId="0" fontId="0" xfId="-2147483648" /><br /><br />Using Microsoft's Open XML Format SDK 2.0 to verify the ouput file results in the error: "/x:styleSheet[1]/x:cellXfs[1]/x:xf[1] The attribute 'xfId' has invalid value '-2147483648'. The string '-2147483648' is not a valid 'UInt32' value." see below<br /><br /> var spreadsheet = DocumentFormat.OpenXml.Packaging.SpreadsheetDocument.Open(stream, false);<br /><br /> DocumentFormat.OpenXml.Validation.OpenXmlValidator val = new DocumentFormat.OpenXml.Validation.OpenXmlValidator();<br /><br /> var validationErrors = val.Validate(spreadsheet);<br /> if (validationErrors.Any())<br /> {<br /> foreach (var validationError in validationErrors)<br /> {<br /> Assert.Fail(string.Format("{0} {1}", validationError.Path.XPath, validationError.Description));<br /> }<br /> }<br /><br />Only the first call to CreateNamedStyle seems to have this effect subsequent named styles have correct positive integer xfId values.<br /><br />
Comments: I'll have a look at it
Comments: I'll have a look at it