public static Cell InsertCell(this SheetData data, WorkbookPart book, string columnName, uint rowIndex, string text, CellValues dataType = CellValues.SharedString, string formula = null, bool isPercentage = false, log4net.ILog logger = null, Stopwatch sw = null) { var currentCell = data.GetCell(rowIndex, columnName); //Log(logger, sw); var shareStringPart = dataType == CellValues.SharedString ? GetSharedStringTablePart(book) : null; //Log(logger, sw); var index = dataType == CellValues.SharedString ? shareStringPart.InsertSharedStringItem(text).ToString() : text; //Log(logger, sw); var x = currentCell.StyleIndex != null ? currentCell.StyleIndex : dataType == CellValues.Number ? isPercentage ? book.GetPercentageStyleIndex() : book.GetDoubleStyleIndex() : null; //Log(logger, sw); currentCell.CellFormula = !string.IsNullOrWhiteSpace(formula) ? new CellFormula(formula) : null; //Log(logger, sw); currentCell.CellValue = new CellValue(dataType == CellValues.Number ? index.Replace(',', '.') : index); //Log(logger, sw); currentCell.DataType = dataType != CellValues.Number ? new EnumValue <CellValues>(dataType) : null; //Log(logger, sw); currentCell.StyleIndex = x; //Log(logger, sw); return(currentCell); }