Делаю тут один отчёт, формирующий хитрую XLS таблицу с кучей формул. Столкнулся со следующим:
1. В доке описывается только числовой формат. Планируется ли введение других форматов, в частности хочется для определённой ячейки с датой установить соответствующий формат.
2. Не совсем корректно работает числовой формат (туплю?). В одной ячейке установлено числовое значение, например 1. В другой ячейке формула - деление этого значения на кол-во дней. Для всей области установлен формат "Ч15.02,". В 1С в табличном документе значение 1 отображается как "1", ячейка с формулой - "0,03". Сохраняем в Excel, открываем. 1 отображается как и раньше, а на месте формулы видим "0,033333333" и формат обеих ячеек почему-то общий. Что не так?
Йоксель » Главный форум
Формат
(6 posts)-
Отправлено 15 года(лет) назад #
-
Для ячейки с 1 вообще формат не применяется почему-то. Заменил значение на 1.01, оно так и отображается, с разделителем-точкой, хотя ячейка точно попадает в область, когда назначаю формат. И в отладчике формат у ячейки - тот, что я установил
Отправлено 15 года(лет) назад # -
> В доке описывается только числовой формат. Планируется ли введение других форматов, в частности хочется для определённой ячейки с датой установить соответствующий формат.
Было бы конечно неплохо.
> на месте формулы видим "0,033333333"
Да, есть какая-то проблема при сохранении формата ячейки с формулой.
> Для ячейки с 1 вообще формат не применяется почему-то. Заменил значение на 1.01
Не ясно, что подразумевается под "заменой значения". Такой код работает, как ожидается:
Документ.Область (1, 1, 1, 2).Формат = "Ч15.02,";
Документ.Область (1, 1).Значение = 1.01;
Возможно, вместо "Область.Значение" используется "Область.Текст".
Отправлено 15 года(лет) назад # -
> Да, есть какая-то проблема при сохранении формата ячейки с формулой.
Можно допилить эту проблему? Очень нужно! И не только с формулой этим страдают, судя по всему
> Не ясно, что подразумевается под "заменой значения". Такой код работает, как ожидается:
Документ.Область (1, 1, 1, 2).Формат = "Ч15.02,";
Документ.Область (1, 1).Значение = 1.01;Имеется в виду не замена, конечно, а внешний вид значения. Несмотря на формат, визуально ничего не меняется, т.е. похоже, что формат не срабатывает. Нужно ли готовить тестовую обработку? Там таблица довольно хитрая
Отправлено 15 года(лет) назад # -
Вроде выкрутился, уже не срочно
Что выяснилось: формируется таблица, в одной ячейке формула "СУММ" и формат "Ч15.02,". Если вывести табличный документ через Показать(), потом уже сделать Записать(), то формат сохраняется. Если записываем сразу, формат не сохраняется.Записывается так:
Конвертер = СоздатьОбъект ("КонвертерExcel");
Книга = Конвертер.Создать ();
Книга.Листы.Добавить ("Лист1", Документ);
Книга.ПараметрыКонвертера.РаспознаватьЧисловыеЗначения = 1;
Книга.Записать (ИмяФайла);Отправлено 15 года(лет) назад # -
Срабатывает так: при формировании таблицы, ещё до загрузки её в табличный документ, в ячейки, где будет формула, пишем "0,00". Теперь формат при сохранении не сбивается.
Отправлено 15 года(лет) назад #
Отправить сообщение
Вы должны войти в систему, чтобы оставлять сообщения.