eplus를 통해 excel 공식을 호출합니다.
저는 ASP.NET MVC4 C# 프로젝트에 엑셀 시트를 가지고 있으며, EPLUS를 사용하여 엑셀 시트에서 성공적으로 읽을 수 있습니다.이제, 저는 2개의 숫자를 셀 C:2와 C:3에 전달하고 C:4의 공식인 =SUM(C2:C3)을 호출할 수 있기를 원합니다.
따라서 C#에서 4와 6을 입력하고 공식을 호출하여 C:4에서 40(10과 30의 SUM)의 결과를 얻을 수 있습니다.C#에서 이를 수행하려면 어떻게 해야 합니까?
다음 코드에서는 d에 대해 0을 반환합니다.평균
d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value);
여기 행을 가로지르는 c#의 다음 코드가 있습니다.
using (var package = new ExcelPackage(existingFile))
{
ExcelWorkbook workBook = package.Workbook;
var currentWorksheet = workBook.Worksheets.First();
currentWorksheet.Workbook.CalcMode = ExcelCalcMode.Automatic;
currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)";
currentWorksheet.Cells["C2"].Value = 10;
currentWorksheet.Cells["C3"].Value = 30;
package.Save();
}
using (var package = new ExcelPackage(existingFile))
{
ExcelWorkbook workBook = package.Workbook;
var currentWorksheet = workBook.Worksheets.First();
d.Average = Convert.ToDouble(currentWorksheet.Cells["C4"].Value);
}
건너뛰기=
수식 문자열에 포함됩니다.
교체하다currentWorksheet.Cells["C4"].Formula = "=SUM(C2:C3)";
와 함께
currentWorksheet.Cells["C4"].Formula = "SUM(C2:C3)";
EpPlus 4.0.1.1 이후에는 확장 방법이 있습니다.Calculate(this ExcelRangeBase range)
액세스하기 전에 호출Value
속성:
currentWorksheet.Cells["C4"].Calculate();
그리고.currentWorksheet.Cells["C4"].Value
의 기대값을 반환합니다.40
그 후에
이전 답변을 검토하던 중 EPLUS의 계산 엔진이 아직 개발 중이라는 것을 알게 되었습니다.
CodePlex에 대한 이 토론을 참조하십시오. (2011년 이후 날짜)
로드맵 페이지의 인용문:
버전 3.2
공식 파서, 계산 엔진
패키지 API를 DotNetZip으로 바꾸기
삽입, 삭제 성능 및 메모리 소비를 개선하는 새로운 셀 저장소
최종 편집일: 2013년 2월 14일
언급URL : https://stackoverflow.com/questions/21189163/invoke-formula-in-excel-via-epplus
'programing' 카테고리의 다른 글
내보낸 모듈 내에서 Vuex mapActions를 사용할 수 있습니까? (0) | 2023.06.15 |
---|---|
matplotlib에서 가로 세로 비율을 설정하려면 어떻게 해야 합니까? (0) | 2023.06.15 |
셀의 숫자를 사용하여 셀 참조 생성 (0) | 2023.06.15 |
Angular 2 활성화된 경로 매개 변수가 서비스 내 또는 외부에서 작동하지 않음 (0) | 2023.06.15 |
파이썬에서 프로그램 실행 시간을 어떻게 계산합니까? (0) | 2023.06.15 |