Como mostrar o número flutuante real / bruto no Excel?

0

Eu preciso processar os arquivos do Excel (2013). E o código a seguir é usado para ler as seqüências de células.

using (SpreadsheetDocument document = SpreadsheetDocument.Open(fileName, false))
{
    document.WorkbookPart.Workbook.CalculationProperties.ForceFullCalculation = true;
    document.WorkbookPart.Workbook.CalculationProperties.FullCalculationOnLoad = true;
    WorkbookPart wbPart;
    WorksheetPart wsPart;
    GetExcelSheet(sheetSearchPattern, document, out wbPart, out wsPart);

    SharedStringTablePart sstpart = wbPart.GetPartsOfType<SharedStringTablePart>().First();
    SharedStringTable sst = sstpart.SharedStringTable;
    var rows = wsPart.Worksheet.Descendants<Row>();
    //return rows.Select(r => r.Elements<Cell>().Select(c => getCellStr(wbPart, c)));
    foreach (var row in rows)
    {
        var s = GetEnumerator(row).Select(c => getCellStr(wbPart, c));
        yield return s;
    }
}

No entanto, o código às vezes tem valores como 90000.0099999995 , 3.000000001 , enquanto o Excel mostra apenas 9000.01 e 3 . Existe uma maneira de ler o número armazenado real no Excel?

Parece que o valor real armazenado no arquivo xlsx do Excel é 90000.0099999995, mas o Excel sempre o exibe como 90000.01, independentemente de como você altera o formato de exibição. Existe uma maneira de obter o valor bruto subjacente no Excel?

    
por Flou 20.12.2017 / 19:02

0 respostas