2017-10-19 12 views
2

C#에서 Excel 보고서를 작성합니다.Excel IF 문에서 오류가 발생합니다. HRESULT 예외 : 0x800A03EC

totalCellFormulaRange.Formula = "=SUM(AH7:AS7)"; //totalCellFormulaRange is a Range object from Microsoft.Office.Interop.Excel 

하지만 지금은, 아래와 같이 if 문으로 구성된 수식을 추가하려고 할 때

memberGuidesCellFormaulaRange.Formula = "=IF(LEFT(D7;12)=\"Welcome Pack\";O7*$AQ$4;0)"; 

는이 오류를 얻을 : 나는 다음과 같은 수식을 추가하면 모든 것이 잘 작동

Exception from HRESULT: 0x800A03EC

위의 if 문은 Excel 시트에 입력 한 경우 100 % 작동합니다. 그것은 C#에서만 실패하고이 코드 라인에 부딪 힐 때 예외가 발생합니다.

+1

쉼표가 아닌 IF에서 세미콜론을 사용하는 것 같습니다. – BugFinder

+0

@BugFinder 지역 설정은 쉼표가 소수점 구분 기호 일 때 우리 중 일부에게 그렇게하도록합니다. – rene

+0

@BugFinder 내 문장에 대한 Excel 구문은 "= IF (logical_test; value_if_true; value_if_false)"입니다. @ "= IF (LEFT (D7; 12) =" "Welcome Pack" "을 사용하면 – Tumelo

답변

4

excel 용 로컬 리 제이션은 ";" COM 인터페이스가 쉼표 대신 사용하면 ";" 대신 쉼표를 사용해야합니다. 현지화 문제 및 일반적인 포인터 엑셀, see this SO Q&A에 대한 상호 운용성 코드를 작성하는 방법에 대한 자세한 내용은

memberGuidesCellFormaulaRange.Formula = "=IF(LEFT(D7,12)=\"Welcome Pack\",O7*$AQ$4,0)"; 

.

+0

세미콜론을 제거하고 쉼표 대신 사용했습니다. – Tumelo