2013-04-10 2 views
2

많은 반복 계산을 수행 한 다음 C# 프로그램을 작성하여 많은 양의 데이터를 반환합니다. 프로그램을 실행할 때마다 데이터가 변경되기 때문에 데이터를 해석하는 데 유용한 미리 정의 된 함수와 그래프가있는 Excel 스프레드 시트에 데이터를 그립니다. 그러나 스프레드 시트의 모든 차트는 데이터의 단일 열에 의존하고 다른 열과 축은 수식을 사용하여 계산됩니다. 그러나 데이터의 총량이 항상 일정하지는 않습니다.C#을 통해 # N/A 값이있는 Excel 차트

예를 들어, 때로는 목록에서 22 개 요소의 데이터를 가져오고 때로는 숫자가 100으로 흐릅니다. 안정된 경계를 유지하기 위해 차트의 첫 50 행만 그래프로 표시하고 프로그램에서는 나머지 열을 "# N/A"값으로 채 웁니다. 그러나 스프레드 시트를 열면 불필요한 데이터가있는 행은 0으로 그래프로 표시됩니다. 차트에 유효한 데이터가있는 행만 그래프로 표시하려고합니다.

내 코드는 다음과 같습니다. 상대적으로 매우 간단하므로 수정할 필요가 없으므로 스프레드 시트에서 어떤 변경을 할 수 있는지 알고 싶습니다.

  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를 사용합니다. 여기에 파란색 선이 나타냅니다 내 차트는 0의 값뿐만 아니라,

그래프에서 볼 수 있듯이

enter image description here

, 지난 5 ~ 6 개 행이 NULL 값을 포함, 같은 그러나, 그들은 그래프로 보는 것입니다 데이터 int 세 번째 열, 그리고 빨간색 선은 마지막 열을 나타냅니다 (고정 행에 의존하기 때문에 절대 null이 될 수 없습니다). Excel에서 마지막 몇 개의 NULL 행을 무시하도록하려면 어떻게합니까?

Thaknks.

답변

0

#VALUE!#N/A에도 입력 해보세요.