SpreadsheetDocumentゼロから新しいものを作成する場合、Dateフォーマットを機能させるには、最小限のStylesheetものを作成する必要があります。
重要なのは、これらの数行です。
new CellFormat
{
    NumberFormatId = 14,
    ApplyNumberFormat = true
})
フルStylesheetクラス:
using (var spreadSheet = SpreadsheetDocument.Create(ms, SpreadsheetDocumentType.Workbook))
{
    // Workbook
    var workbookPart = spreadSheet.AddWorkbookPart();
    workbookPart.Workbook =
        new Workbook(new Sheets(new Sheet { Name = "Sheet1", SheetId = (UInt32Value) 1U, Id = "rId1" }));
    // Add minimal Stylesheet
    var stylesPart = spreadSheet.WorkbookPart.AddNewPart<WorkbookStylesPart>();
    stylesPart.Stylesheet = new Stylesheet
    {
        Fonts = new Fonts(new Font()),
        Fills = new Fills(new Fill()),
        Borders = new Borders(new Border()),
        CellStyleFormats = new CellStyleFormats(new CellFormat()),
        CellFormats =
            new CellFormats(
                new CellFormat(),
                new CellFormat
                {
                    NumberFormatId = 14,
                    ApplyNumberFormat = true
                })
    };
    // Continue creating `WorksheetPart`...
Stylesheet追加した後、DateTimeフォーマットすることができます:
if (valueType == typeof(DateTime))
{
    DateTime date = (DateTime)value;
    cell.CellValue = new CellValue(date.ToOADate().ToString(CultureInfo.InvariantCulture));
    // "StyleIndex" is "1", because "NumberFormatId=14"
    // is in the 2nd item of `CellFormats` array.
    cell.StyleIndex = 1; 
}
値は、配列またはオブジェクト内のアイテムStyleIndexの順序に依存することに注意してください。この例では、配列の2番目のアイテムのアイテムです。CellFormatCellFormatsStylesheetNumberFormatId = 14