Чтение даты из файла Excel с использованием OpenXML - PullRequest
1 голос
/ 29 декабря 2010

Я делаю библиотеку, которая использует OpenXML в C # для чтения файлов Excel.Я могу читать текст ячейки и цифры просто отлично, но когда дело доходит до дат, есть проблема.Для ячеек есть тип «дата», но, очевидно, Excel 2007 не сохраняет даты в этом типе, поэтому я не могу сказать, является ли значение, которое я читаю, датой или нет, вместо этого он использует стили.

Как я могу определить, является ли она датой, и вернуть ее строковое представление (например, 29-12-2010)?

1 Ответ

4 голосов
/ 29 декабря 2010

Excel сохраняет даты в виде значения с плавающей запятой ... целая часть - это количество дней с 01.01.1900 (или 01.01.1904, в зависимости от того, какой календарь используется), дробная часть - это пропорциядень (т. е. часть времени) ... сделанный немного более неловким из-за того, что 1900 год считается високосным годом.

Единственное, что отличает данные от числа, - это маска формата числа.Если вы можете прочитать маску формата, вы можете использовать ее для определения значения как даты, а не числа ... затем рассчитать значение даты / форматирование из базовой даты.

...