В чем разница между CellValues.InlineString и CellValues.String в OpenXML?

Я пытаюсь написать код для создания электронной таблицы Excel, и я не уверен, в чем разница между CellValues.InlineString и CellValues.String для вставить текст в ячейки.

Должен ли я использовать это:

private void UpdateCellTextValue(Cell cell,string cellValue)
{
    InlineString inlineString = new InlineString();
    Text cellValueText = new Text { Text = cellValue };
    inlineString.AppendChild(cellValueText);

    cell.DataType = CellValues.InlineString;
    cell.AppendChild(inlineString); 
}

это

private void UpdateCellTextValue(Cell cell, string cellValue)
{
    cell.CellValue = new CellValue(cellValue);
    cell.DataType = new EnumValue<CellValues>(CellValues.String);
}

или только это (InsertSharedStringItem возвращает Id недавно вставленного элемента общей строки)

private void SetCellSharedTextValue(Cell cell,string cellValue)
{        
    int stringId = InsertSharedStringItem(cellValue);
    cell.CellValue = new CellValue(stringId.ToString());
    cell.DataType = new EnumValue<CellValues>(CellValues.SharedString);
}
16
задан amurra 27 June 2011 в 14:38
поделиться