我编写了一个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。这是我的图表的样子:
如图所示,最后5-6行包含NULL值,但是,它们也被绘制成图形,其值为0
。蓝线表示第三列中的数据,红线表示最后一列(由于它依赖于固定行,因此永远不会为空)。
如何强制Excel忽略最后几个NULL行?