带有#N / A值的Excel图表

时间:2013-04-10 04:44:24

标签: c# excel

我编写了一个C#程序,它执行了大量的迭代计算,然后返回了一个庞大的数据列表。因为每次运行程序时数据都会发生变化,所以我会在Excel电子表格中绘制数据,其中包含有助于解释数据的预定义函数和图形。但是,电子表格中的所有图表都依赖于单列数据,而其他列和轴则使用公式计算。但是,数据总量并不总是恒定的。

例如,有时我会在列表中获得22个数据元素,有时这个数字会流入100个。为了获得稳定的界限,我将图表限制为仅绘制前50行数据,并在我的程序中,用“#N / A”值填充剩余的列。但是,当我打开电子表格时,具有多余数据的行将绘制为0 s。我希望图表只绘制包含有效数据的行。

这是我的代码看起来像,它相对非常简单,所以我不打算修改它,我想知道我可以在电子表格中做出哪些更改。

            FileInfo newFile = new FileInfo("Report.xlsx");
        ExcelPackage pack = new ExcelPackage(newFile);
        ExcelWorksheet ws = pack.Workbook.Worksheets[1];        

        int cellCount = 2;
        for(int i = 0; i < 49; i++)
        {
            String cell = "B" + cellCount;
            if (i < data.Count)
                ws.Cells[cell].Value = data.ElementAt(i);
            else
                ws.Cells[cell].Value = "#N/A";

            cellCount++;

        }

      Console.Out.WriteLine("saving");
        pack.Save();
        System.Diagnostics.Process.Start("Report.xlsx");

要访问Excel文档,我使用EPPLUS。这是我的图表的样子:

how my charts look

如图所示,最后5-6行包含NULL值,但是,它们也被绘制成图形,其值为0。蓝线表示第三列中的数据,红线表示最后一列(由于它依赖于固定行,因此永远不会为空)。

如何强制Excel忽略最后几个NULL行?

0 个答案:

没有答案