Por que essa fórmula não é calculada, a menos que eu dê um clique duplo em uma célula?

Veja isso.xlsx Arquivo. Sem macros, é claro!

Ao abrir o arquivo, você verá as seguintes células:

[Series     ]
[10         ]
[20         ]
[30         ]
[           ]
[           ]
[=SUM(B3:B7)]

A soma não calcula, a menos que você dê um clique duplo e pressione enter em uma das três células inferiores (por exemplo, duas em branco, = SUM (B3: B7))

Mais estranho ainda, quando você "dá vida à fórmula", se você salvar a pasta de trabalho e reabri-la, ela se comportará bem.

Tentei alterar a extensão para .zip e brincar com o Xml para ver se conseguia identificar as alterações feitas salvando-a depois que ele começou a funcionar, mas só vi que o número da versão havia sido alterado.

Nós. Ird.

Além disso, tentei salvar isso em um formato anterior do Excel e o problema permaneceu.

Eu só quero reiterar - a planilha anexada é um arquivo .xlsx e, portanto, não possui macros! Realmente, não há outra maneira de explicar esse problema sem a planilha em anexo. Felizmente, colocando 50 pontos de reputação em risco, alguém confiará que eu não sou um garoto de script e darei uma olhada!

Criei o arquivo usando o EPPlus e o seguinte código C #:

    public void Generate(string outputPath)
    {
        using (FileStream fsTemplate = new FileStream(TemplatePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
        {
            using (FileStream fsReport = new FileStream(outputPath, FileMode.Create, FileAccess.ReadWrite, FileShare.None))
            {
                using (ExcelPackage ep = new ExcelPackage(fsReport, fsTemplate))
                {
                    using (ExcelWorksheet ws = ep.Workbook.Worksheets[TemplateSheetName])
                    {
                        //
                        int iHeadingsRow = 2;
                        int dataRowIndex = iHeadingsRow + 1;
                        //
                        List<decimal> list = new List<decimal>() { 10, 20, 30 };
                        //
                        foreach (var number in list)
                        {
                            ws.Cells[dataRowIndex, 2].Value = list[dataRowIndex - iHeadingsRow - 1];
                            //
                            ws.InsertRow(dataRowIndex + 1, 1, iHeadingsRow + 1);
                            //
                            dataRowIndex++;
                        }
                        //
                        ep.Save();
                    }
                }
            }
        }
    }

Gostaria de enfatizar que este não é um problema do EPPlus! Esse é um problema comum com o Excel abrindo uma pasta de trabalho válida e recusando-se a calcular uma fórmula. Formatar as células como numéricas não faz diferença. Estou usando o EPPlus para criar arquivos Excel funcionais há meses e não instalei nenhuma atualização no EPPlus, por isso deve haver um problema com o Excel, certo ?!

A solução deve estar na diferença entre o arquivo original e a versão que foi lançada em vida e salva. Eu simplesmente não consigo identificar exatamente qual é essa diferença ...

O = SUM (B, 3: B7) já está presente no arquivo de modelo, junto com o texto 'Série'. O código adiciona apenas os itens {10,20,30} à planilha.

questionAnswers(1)

yourAnswerToTheQuestion