
특정 행의 셀에 대한 수식을 포함하여 스프레드시트를 생성하는 코드를 사용하고 있습니다. 이렇게 하면 수식에 문제가 있고 스프레드시트를 열려고 하면 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;
)