Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Вниз

Вопрос по Excel - автоопределение высоты ряда   Найти похожие ветки 

 
Суслик ©   (2007-02-13 22:53) [0]

Здравствуйте.

1. Суть вопроса
Как заставить excel автоматически определать высоту ряда таким образом, чтобы в ячейке с объединением было полностью видно содержимое по высоте.

2. Детали
Если в определенной ячейке установить флаг "Переносить по словам" и ввести длинную строку, то строка будет перенесена, а высота ряда увеличена таким образом, чтобы текст полностью влезал по высоте.
Если аналогичную операцию проделать в ячейке, которая является объединением нескольких ячеек по горизонтали, то текст переносится будет, но высота ряда меняться не будет - перенесенный текст залезет за нижнюю границу ячейки.

3. Вопросы
а) Можно ли как-то заставить excel автоопределять высоту ряда в указанном случае?
б) Есть ли каки-нибудь документированные (или нет) способы рассчитать высоту ряда в случае переноса? Вернее даже так - можно ли как-то узнать как excel разбил строку на ряды?

Спасибо.

ЗЫ.
Задача состоит в том, чтобы выводить в excel нормативные документы, например, счет-фактуру. Там не обойтись без объединения ячеек - иначе невозможно (или я просто не знаю) отобразить всю необходимую информацию.


 
Суслик ©   (2007-02-15 00:17) [1]

up

Эй, товарищи! Ну большинство же автоматизацией бизнеса занимется. Кто-то из большинства клиентской стороной занимается (не всем же серверной заниматься :)). Полагаю, что кто-то сталкивался с подобной проблемой. А клиенты они же сами знаете - оффис любят страшно.

Буду очень благодарен за квалифицированное мнение.

Спасибо.


 
Ломброзо ©   (2007-02-15 00:22) [2]

Никак. Это баг экселя, который меня так достал, что просто ой.


 
Ломброзо ©   (2007-02-15 00:25) [3]

Я <вырезано> из-за этого <вырезано> бага потерял два месяца, изучил все генераторы отчетов, какие только есть в природе и в итоге вернулся на круги своя и смастерил опцию выбора в чем печатать - в екселе или pdf.


 
Ломброзо ©   (2007-02-15 00:28) [4]

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


 
Суслик ©   (2007-02-15 00:32) [5]


> Ломброзо ©   (15.02.07 00:25) [3]

Твое мнение для меня очень авторитетно.
Впрочем, так же как и мое :) Я тоже уверен, что это баг. :)

В свое время я сделал *экспорт* в biff8. Весьма классно получилось - за 2.5 гда ни одного нарекания. Там есть флажок - менялась ли высота ряда или нет руками. Если не менялась, что excle при открытии выставляет высоту, НО не для объединенных ячеек. Я тогда из всего формата проботал, что вроде бы это единственный атрибут, отвечающий за высоту (кроме, есно, самой высоты как таковой). Поэтому я сделал аналогичный твоему вывод.

--------------------------------
Другой вопрос, что может есть НЕдокументированный алгоритм разбиения екселем ячейки на строки. Хоть примерный?
(может быть кто-нить увлекается MS и их информацией для разработчиков и знает решение).


 
Ломброзо ©   (2007-02-15 00:38) [6]

С удовольствием поковыряюсь в кишках екселя на досуге, на пенсии :) а так просто времени нет.
Я бы ещё поэкспериментировал с XML и HTML. Вдруг да получится?


 
Суслик ©   (2007-02-15 01:10) [7]

xml от excel - г.
потому как не схема, а г.
писал, знаю, потом написал biff8.
так, что к xml не посылай.

-----------------
почему это г так засело в мозгах пользователей? ведь оно совершенно не готово воспринимать источники данных из информационных систем *в общем случае*.

:(


 
Ломброзо ©   (2007-02-15 01:21) [8]

Да-а-а :) это настоящее г... :) Но. Сохранение-загрузка документа в XML задумано не как средство обмена данными, а для того, чтобы формально задекларировать открытость формата.
Хотя действительно, если мне не изменяет память, при использовании XML/HTML с ячейками будет та же беда. Более того.
Если вывести документ в HTML с картинками и загрузить его с веб-сервера в ексель, то картинка отобразится, но при сохранении файла на диск она не внедряется в документ, то есть ексель просто хранит в файле абсолютный урл этой картинки. А вот Word сцуко внедряет все как положено.

Для настоящего обмена данными и спариванием со всякими веб-сервисами и как частный случай с InfoPath в ёкселе отдельная подсистема есть, но я в ней не копался, хотя, говорят, в умелых руках неплохая штука.


 
Суслик ©   (2007-02-15 02:04) [9]

ладно, спасибо, что отозвался.
была надежда, что удасться побить это, но, видно, не судьба.

ЗЫ. Когда мне говорят заветное слово "ексель", я думаю - а нафига вам это г. А вот алтернативы предложить не могу:(
Видно, нужно пойти в ветки про линух и почитать про его золотые возможности - там, вроде, вообще ничего делать не надо: все уже есть!



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.03.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.041 c
3-1166176488
_Guest_
2006-12-15 12:54
2007.03.11
Ошибка при отсутствии BDE


2-1171892873
НОВИЧЕК2007
2007-02-19 16:47
2007.03.11
ПОИСК


9-1145199906
Kaviss
2006-04-16 19:05
2007.03.11
ODE dSpaceCollide (space,nil,nearCallback); ошибка


1-1168853543
DevilDevil
2007-01-15 12:32
2007.03.11
Прокрутить форму (ScrollBy(), ScrollWindow() )


15-1171206251
Marser
2007-02-11 18:04
2007.03.11
Напиток мёд





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский