CftClub.ru
Клуб специалистов ЦФТ-Банк

Поймать расширение строки в EXCEL (Office Open XML)

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы
Предыдущая тема :: Следующая тема  
Автор Сообщение
Трактор
Участник со стажем
Неподтвержденный


Вступление в Клуб: 20.02.2012
СообщениеВт Dec 15, 2015 14:58   Поймать расширение строки в EXCEL (Office Open XML) Ответить с цитатой
Полезность: Нет оценки
Вывожу в EXCEL посредством Office Open XML
Есть-ли способ поймать на сколько расширилась только что выведенная строка?

API_XL.get_row_height работает как-то непонятно, не могу понять зависимость когда она вытаскивает правильное значение, а когда дефолтное (15).
Эмиралька
Профи
Неподтвержденный


Вступление в Клуб: 09.11.2015
СообщениеСр Dec 16, 2015 07:09   Re: Поймать расширение строки в EXCEL (Office Open XML) Ответить с цитатой
Полезность: Нет оценки
Трактор пишет:
Вывожу в EXCEL посредством Office Open XML
Есть-ли способ поймать на сколько расширилась только что выведенная строка?

API_XL.get_row_height работает как-то непонятно, не могу понять зависимость когда она вытаскивает правильное значение, а когда дефолтное (15).


Боюсь, что событие расширения возникнет только тогда, когда файл уже будет полностью сформирован, передан на локальную машину и будет открываться локальным ёкселем.

Если очень-очень надо, то в какой-то операции из FNS_MOVE_DATA есть функционал растягивания ячейки на несколько строк "вручную", в зависимости от длины текста.
Трактор
Участник со стажем
Неподтвержденный


Вступление в Клуб: 20.02.2012
СообщениеСр Dec 16, 2015 08:06    Ответить с цитатой
Полезность: Нет оценки
мне собственно на растянуть надо , а понять на сколько растянулось.
Вычисления в зависимости от количества символов не устраивает.
Потому что ексель переносит по словам, а не по буквам.
Если в короткой ячейке попадаются длинные слова (более половины длинны ячейки), то спрогнозировать на сколько она расширится очень трудно.
Если бы переносилось по буквам, то влезло бы в три строки, а так переносится на четыре.

При построении страничного отчёта (с итогами по листу и тд), с разбиением на страницы это будет давать огромную ошибку.

Может быть, есть функция, которая показывает на сколько ексель расширит ячейку?
Трактор
Участник со стажем
Неподтвержденный


Вступление в Клуб: 20.02.2012
СообщениеСр Dec 16, 2015 09:36    Ответить с цитатой
Полезность: Нет оценки
или можно как-то заставить ексель переносить не по словам, а по буквам?
Эмиралька
Профи
Неподтвержденный


Вступление в Клуб: 09.11.2015
СообщениеСр Dec 16, 2015 10:37    Ответить с цитатой
Полезность: Нет оценки
Трактор пишет:
мне собственно на растянуть надо , а понять на сколько растянулось.

Могу поспорить, что ты в код даже не заглянул.

Трактор пишет:
Потому что ексель переносит по словам, а не по буквам.


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

Трактор пишет:
понять на сколько растянулось.

Насколько растянулось, насколько растянется... какая разница?
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Справочник PL/PLUS: Функции, примеры, приёмы Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru