NPOI некорректная запись символа

383
31 декабря 2016, 13:25

Доброй ночи! Записываю в файл xls с помощью NPOI строку

sheet_temp.GetRow(number).GetCell(8).SetCellValue(hours + ":" + minutes + ":" + seconds2);

hours,minutes, seconds2 - это строки

Открываю файл через office 2007. Данная ячейка используется у меня для вычисления значения в другой ячейке с помощью формулы СУММ.
Формула не считает, начинаю разбираться - формат строки в норме... строка похожа на существующую с которой СУММ работает. Пробую менять символы и оказывается что если поменять симво ':' на ввод символа ':' то всё сразу работает - как так? Как мне записать в ячеку через NPOI чтобы не было конфликтов изза двоеточия?

Answer 1

Есть подозрение, что дело не в символе ":", а в том, что после записи через SetCellValue формат ячейки строковый (поскольку Вы пишете в него строку). А после ручного ввода Excel определяет, что это дата - и выставляет нужный формат. А с правильным форматом уже работают формулы.

Здесь описана аналогичная проблема, попробуйте выставить формат ячейки:

IDataFormat dataFormatCustom = workbook.CreateDataFormat();
var cell=sheet_temp.GetRow(number).GetCell(8);
cell.CellStyle = styles["cell"]; 
cell.CellStyle.DataFormat = dataFormatCustom.GetFormat("HH:mm:ss");
READ ALSO
Чтение бинарного файла с нужной позиции (C#)

Чтение бинарного файла с нужной позиции (C#)

Помогите, пожалуйста, разобраться, как в C# прочитать данные с нужной позиции? Есть код, написанный на С++ Builder с использованием WinAPI:

458
pjax переход по прямым ссылкам

pjax переход по прямым ссылкам

Есть сайт, на котором используется pjax (pushState + ajax)Страницы подгружаются через ajax и меняется адрес

421
Задать условие вывода оператора AND

Задать условие вывода оператора AND

Как в такой ситуации правильно сформировать условия, чтобы AND выводился тогда, когда ему положено? Отправляется форма из нескольких полей,...

405
PHP массив с русскими ключами

PHP массив с русскими ключами

Некий метод в системе возвращает массив с русскими ключами и строками в значения

381