Как вставить дату в Открыть рабочий лист XML?

Я использую Microsoft Open XML SDK 2, и мне действительно нелегко вставлять дату в ячейку. Я могу вставить числа без проблемы путем установки Cell.DataType = CellValues.Number, но когда я делаю то же с датой (Cell.DataType = CellValues.Date) Катастрофические отказы Excel 2010 (2007 также).

Я пытался установить Cell.Text оцените многим форматам даты, а также формату Excel date/numeric напрасно. Я также пытался использовать стили, удаляя атрибут типа, плюс много других пицц, которые я бросил в стену …

Кто-либо может указать на меня на пример, вставляющий дату в рабочий лист?

18
задан Matt Ellen 8 July 2019 в 11:01
поделиться

1 ответ

Вы должны преобразовать DateTime в double , используя функцию ToOADate , то есть:

DateTime dtValue = DateTime.Now;
string strValue = dtValue.ToOADate().ToString(CultureInfo.InvariantCulture);

, затем установите его как CellValue

Cell cell;
cell.DataType = new EnumValue<CellValues>(CellValues.Date);
cell.CellValue = new CellValue(strValue);

Не забудьте отформатировать ячейку, используя форматирование DateTime , иначе вы увидите значение double , а не дату.

14
ответ дан 30 November 2019 в 06:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: