2016-11-28 4 views
2

EPPLUS를 사용하여 간단한 수식을 작성하려고하지만 그 방법을 찾지 못하는 것 같습니다. 다음과 같이EPPLUS에서 수식 문제가 발생했습니다.

공식은 = C12- (SUM (D12 : E12)) 나는 다양한 조합을 시도했지만 나 같은 간단한 공식을 정의 할 수있는 옵션도 확실하지 않은

. "-"그것은 항상에 대한 불만을

문자열 문자열에 적용 할 수 없습니다 등

모든 아이디어를 어떻게 당신이 뭘 하려는지 이해한다면 이러한 공식을

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "SUBTOTAL" + (worksheet.Cells[this.CurrRow, iStart_column - 1]) - ("SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn]); 
+0

http://pastebin.com/3GWZZi3G 이것은 내 마지막 시도입니다. –

답변

4

를 작성하는 방법, 당신은 생성하는 공식을 동적으로. 어떤 경우에는 문자열에 수학 -을 사용하고 있기 때문에 오류가 발생합니다. 물론 실제로 수행 할 수는 없습니다.

worksheet.Cells[this.CurrRow, CurrColumn + 1].Formula = "=SUBTOTAL("+ worksheet.Cells[this.CurrRow, iStart_column - 1].Address + "-(SUM(" + worksheet.Cells[this.CurrRow, iStart_column, this.CurrRow, CurrColumn].Address + ")))"; 

참고 Cell 객체의 문자열 표현을 줄 것이다 Address 속성의 사용 : 나는 당신을 위해 무엇을하려고하는 것은이 같은 생각합니다.

참고 : SUBTOTAL의 구현은 실제로 올바르지 않으며 파일을 열 때 Excel에서 불만을 제기합니다. 이것은 EPPlus보다 더 뛰어난 문제이므로 더 자세히 설명하거나 작업해야합니다.

+0

좋습니다. 그래, 테이블은 역동적이야. 감사. 어떤 옵션을 사용해야하는지 잘 모르겠지만 다시 시도하고 다시보고 할 것입니다. 치어 리더 –

+0

이상합니다. 내 라인을 업데이트하고 응용 프로그램을 실행하고 Excel을 생성 할 수 있습니다. 명령은 OK이지만 # VALUE로 표시됩니다! 대신 메시지. 그러나 동일한 셀의 수식을 복사하여 붙여 넣은 다음 스프레드 시트 내의 다른 위치에 붙여 넣으면 올바른 결과를 얻을 수 있습니다. http://pastebin.com/eySwexzS. 어떤 아이디어? –

+0

이 작동하는 것으로 보입니다. http://pastebin.com/HXeSg5tb –