Example #1
0
        public static Cell InsertMergeCell(this Worksheet sheet, WorkbookPart book, SheetData sheetData,
                                           string startColumnName, uint startRowIndex, string end, string text,
                                           log4net.ILog logger = null)
        {
            var sw = new Stopwatch();
            //if (logger != null) { sw.Start(); }
            var cell = sheetData.InsertCell(book, startColumnName, startRowIndex, text, logger: logger, sw: sw);
            //Log(logger, sw);
            var firstMergeCells = GetMergeCells(sheet, sheetData);
            //Log(logger, sw);
            var reference = string.Format("{0}{1}:{2}", startColumnName, startRowIndex, end);
            //Log(logger, sw);
            var mergeCell = firstMergeCells.Elements <MergeCell>()
                            .FirstOrDefault(m => m.Reference.Value == reference);

            //Log(logger, sw);
            if (mergeCell == null)
            {
                firstMergeCells.Append(new MergeCell()
                {
                    Reference = reference
                });
            }
            //if (logger != null)
            //{
            //    logger.Info(sw.ElapsedMilliseconds);
            //    sw.Stop();
            //}
            return(cell);
        }