示例#1
0
        string GetSpan(ExcelWorksheet.MergeCellsCollection merged, int row, int column)
        {
            // Unused code. The row/colspan was producing strange results.
            string span = "";

            string m = merged[row, column];

            if (m == null)
            {
                return("");
            }

            var addr    = new ExcelAddress(m);
            int rowspan = 1 + addr.End.Row - addr.Start.Row;
            int colspan = 1 + addr.End.Column - addr.Start.Column;

            if (rowspan > 1)
            {
                span += $" rowspan={rowspan}";
            }
            if (colspan > 1)
            {
                span += $" colspan={colspan}";
            }

            return(span);
        }
示例#2
0
        bool IsFirstMergedCell(ExcelWorksheet.MergeCellsCollection merged, int row, int column)
        {
            // Check if this cell is the first in a merged cell group
            // Also returns true if it's not a merged cell (non-merged cells are always first in their own group of 1)

            string m = merged[row, column];

            if (m == null)
            {
                return(true);
            }

            var addr = new ExcelAddress(m);

            return(row == addr.Start.Row && column == addr.Start.Column);
        }
示例#3
0
        public void Read()
        {
            jsonFile = jsonFilesDirectory + "/" + Path.GetFileName(fileName).Substring(82).Replace(".xlsx", ".json");

            ExcelPackage   excelFile = new ExcelPackage(new FileInfo(fileName));
            ExcelWorksheet worksheet = excelFile.Workbook.Worksheets[1];

            ExcelWorksheet.MergeCellsCollection mergedCells = worksheet.MergedCells;

            List <Entity> entidades = new List <Entity>();

            foreach (string mc in mergedCells)
            {
                if (mc.StartsWith("C") == false)
                {
                    continue;
                }

                ExcelRange m        = worksheet.Cells[mc.ToString()];
                int        startrow = m.Start.Row;

                if (startrow <= 4)
                {
                    continue;
                }

                int endrow = m.End.Row;

                while (startrow <= endrow)
                {
                    string cell = "D" + startrow;
                    entidades.Add(new Entity()
                    {
                        entidad = m.First().Value.ToString(),
                        ciudad  = worksheet.Cells[cell].Value.ToString(),
                        magna   = worksheet.Cells[cell.Replace("D", "E")].Value.ToString(),
                        premium = worksheet.Cells[cell.Replace("D", "F")].Value.ToString(),
                        diesel  = worksheet.Cells[cell.Replace("D", "G")].Value.ToString()
                    });

                    startrow++;
                }
            }

            GenerateJsonFiles(entidades);
        }