Почему Дата в строке трансформируется автоматически? - PullRequest
0 голосов
/ 06 декабря 2018

Я использую Miscrosoft Office Interop Excel для сортировки и управления файлом «.csv» и создания файла Excel.

Когда я копирую одну ячейку, которая содержит дату, например:

"04/05/2018 18:55"

Я вставляю эту строку в

"04/05/2018"

и вставьте его в другую ячейку, он преобразуется в это странное число

43195

Почему это происходит?Как я могу предотвратить или изменить это?Я сейчас передаю информацию.как это:

String date = worksheet.Cells[1, 1].Value2.ToString();
worksheet.Cells[1, 2].Value2 = date; //this shows up as 43195

1 Ответ

0 голосов
/ 06 декабря 2018

Это не преображается на самом деле.Excel фактически сохраняет все даты в виде числа, представляющего количество дней с 01.01.1900 (правда!).То, что вы видите в своей ячейке - это необработанное числовое значение, представляющее дату.Если вы откроете свою таблицу результатов, выделите столбец, щелкните правой кнопкой мыши, выберите форматирование и выберите «Дата», вы увидите, что она отображает ожидаемую вами дату.

Итак, вы захотите сделать это вваш код.Предполагая, что ваша дата находится в столбце «B», а ваш рабочий лист - «ws»:

ws.Range[“B:B”].NumberFormat = “mm/dd/yyyy”;

Это предполагает формат даты в США.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...