Search code examples
c#excelinfragistics

Load an excel file that contains charts and insert new column using Infragistics.Documents.Excel


I would like to insert a new column in an existing file that contains charts. It doesn't work, visual studio keeps running forever. I noticed that if I delete the charts that are in the loaded file it works just fine. A new column with data is inserted. I just don't know If I can conclude that it's because of existing charts that new columns can't be inserted.

Here is what I did :

private static void Main()
            {
                string outputFile = "metrics.xlsx";
                Workbook workbook = Workbook.Load(outputFile);
                Workbook temporary = SetIndicatorsWorkbook();
                var values = new List<int>();

                for(int j=0; j<12; j++)
                {
                    values.Add((int)temporary.Worksheets["Unit & Integration Tests"].Rows[j].Cells[0].Value);                    
                }

                var worksheet = workbook.Worksheets["Unit Testing"];
                var k = 9;
                var count = worksheet.Rows[14].Cells.Count(cell => cell.Value!=null);
                worksheet.Columns.Insert(count+1);

                foreach (var value in values)
                {
                    worksheet.Rows[k].Cells[count+1].Value = value;
                    k++;
                }
                workbook.Save(outputFile);         
            }

Solution

  • Your code seems fine, I used a random excel file that had a chart on the sheet and the code executed fine without errors. I will be able to assist further if you provide the metrics.xlsx file.