Ведущий апостроф не считается частью значения ячейки. Это больше соглашение, которое использует Excel, чтобы иметь некоторый текст вместо числа.
Чтобы дать вам пример, допустим, вы хотите написать 0001 в какой-то ячейке, если вы напишите это так, как MS Excel будет анализировать в качестве числа и установите ячейку в число 1.
Однако, если вы напишите этот текст с апострофом, MS Excel оставит его как есть.
В любом случае, вот как вы можете определить, Вы должны добавить этот ведущий апостроф:
var document = SpreadsheetDocument.Open(filePath, false);
var sharedStringTable = document.WorkbookPart.SharedStringTablePart.SharedStringTable;
var cellFormats = document.WorkbookPart.WorkbookStylesPart.Stylesheet.CellFormats;
// ...
if (cell.DataType == CellValues.SharedString)
{
bool isQuoted = false;
if (cell.StyleIndex != null && cell.StyleIndex.HasValue)
{
var cellFormat = cellFormats.ChildElements[(int)cell.StyleIndex.Value] as CellFormat;
isQuoted = cellFormat.QuotePrefix;
}
Console.WriteLine("cell val: " + (isQuoted ? "'" : "") + sharedStringTable.ElementAt(Int32.Parse(cellValue)).InnerText);
}
// ...