Abra uma planilha com fórmulas quebradas

Abra uma planilha com fórmulas quebradas

Estou usando um código para gerar uma planilha, incluindo uma fórmula para uma célula em determinadas linhas. Quando faço isso, há algo errado com a fórmula e, quando tento abrir a planilha, o Excel pergunta se deve consertar a planilha. Se eu disser que sim, ele remove todos os vestígios da minha fórmula da planilha. Se eu disser não, não termina de abrir a folha.

Existe uma maneira de abrir a planilha sem o reparo, para poder examinar a fórmula conforme ela é gerada pelo meu código. Se eu copiar e colar a fórmula em uma das células da qual ela foi removida, ela funcionará bem. Eu realmente preciso ver o que há de errado com a fórmula na minha planilha gerada ao abri-la. Existe alguma maneira de fazer isso?

Estou adicionando a fórmula usando o código abaixo na biblioteca 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;
}

Observe que esta fórmula funciona se eu substituir {r}por um número de linha adequado e colar a fórmula na planilha.

Responder1

O Excel pergunta se deve reparar a planilha. Se eu disser que sim, ele remove todos os vestígios da minha fórmula da planilha. Se eu disser não, não termina de abrir a folha.

Acho que você tentou todas as suas opções aqui.

Uma solução alternativa pode ser inserir sua fórmula na célula como texto ( ws.Cells[$"F{r}"].Value = amountFormula;), então você poderá abrir sua planilha e examinar sua fórmula.

(Se o Excel ainda reclamar da sua fórmula, você pode até adicionar um anterior ':)ws.Cells[$"F{r}"].Value = "'" & amountFormula;

informação relacionada