깨진 수식이 있는 스프레드시트 열기

깨진 수식이 있는 스프레드시트 열기

특정 행의 셀에 대한 수식을 포함하여 스프레드시트를 생성하는 코드를 사용하고 있습니다. 이렇게 하면 수식에 문제가 있고 스프레드시트를 열려고 하면 Excel에서 시트를 복구해야 하는지 묻습니다. 내가 '예'라고 대답하면 시트에서 내 수식의 흔적을 모두 제거하여 이 작업을 수행합니다. 내가 아니오라고 말하면 시트 열기가 끝나지 않습니다.

수정하지 않고 스프레드시트를 열어 내 코드에서 생성된 수식을 검사할 수 있는 방법이 있습니까? 수식을 복사하여 제거된 셀 중 하나에 붙여 넣으면 정상적으로 작동합니다. 생성된 시트를 열 때 수식에 어떤 문제가 있는지 꼭 확인해야 합니다. 이 작업을 수행할 수 있는 방법이 있나요?

EPPlus Excel 라이브러리에 아래 코드를 사용하여 수식을 추가합니다.

for (var r = startAt + 2; r < endAt; r++)
{
    var amountFormula =
        $@"=SWITCH(C{r}; ISBLANK(D{r}); """"; ""Percentage""; IF(ISNUMBER(D{r}); D{r}; 0) * IF(ISNUMBER(E{r}); E{r}; 0) / 100; IF(ISNUMBER(D{r}); D{r}; 0) * IF(ISNUMBER(E{r}); E{r}; 0))";
    ws.Cells[$"F{r}"].Formula = amountFormula;
}

{r}적절한 행 번호로 바꾸고 수식을 시트에 붙여넣으면 이 수식이 작동합니다 .

답변1

Excel에서 시트를 복구해야 하는지 묻습니다. 내가 '예'라고 대답하면 시트에서 내 수식의 흔적을 모두 제거하여 이 작업을 수행합니다. 내가 아니오라고 말하면 시트 열기가 끝나지 않습니다.

나는 당신이 여기서 모든 옵션을 시도했다고 생각합니다.

해결 방법은 셀에 수식을 텍스트( ws.Cells[$"F{r}"].Value = amountFormula;)로 삽입한 다음 시트를 열고 수식을 검사하는 것입니다.

(Excel이 여전히 수식에 대해 불만을 표시하는 경우 앞에 다음을 추가할 수도 있습니다 '. ws.Cells[$"F{r}"].Value = "'" & amountFormula;)

관련 정보