Форум: "Начинающим";
Текущий архив: 2011.02.27;
Скачать: [xml.tar.bz2];
Внизпечать данных в Excel Найти похожие ветки
← →
Анна (2010-12-02 13:40) [0]Добрый день!
Результаты работы ХП вываливаю в Excel. Столкнулась с проблемой, по мере того как переношу данные в Excel (присваиваю по строкам через одномерный вариантный массив) мне необходимо знать на какой строке заканчивается страница (пунктирная линия в Excel), чтобы на следующей странице, в зависимости от данных, вставить свою "шапку" для ЭТОЙ информации.
Последняя строка в Excel-е определяется как пустая :
showmessage("Последняя строка "+inttostr(XL.Cells.SpecialCells(xlCellTypeLastCell).Row));
А как мне, по мере заполнения по строкам Excel-я, перед началом следующей итерации определить что достигут конец страницы (пунктирная линия) ?
Надеюсь, что понятно написала.
← →
Dennis I. Komarov © (2010-12-02 13:50) [1]
> Результаты работы ХП вываливаю в Excel.
Зачем? Только для того, чтобы вывести на принтер?
Ну если уж на то пошло, почему бы не сделать "шапку" средствами Excel? Если мне не изменяет склероз, то там вроде было что-то вроде - печатать на каждой странице...
← →
Анна (2010-12-02 13:54) [2]
> Dennis I. Komarov © (02.12.10 13:50) [1]
Для того чтобы в электронном виде послать заказчику.
"Повтор строк" (шапка) на каждом листе не подходит, т.к. на определнном этапе, в зависимости от данных - "шапка" - другая.
← →
Dennis I. Komarov © (2010-12-02 14:07) [3]Ну тогда делать разные книги (листы) соответствующие характеристикам данных, т.е. новая "шапка" - новый лист.
← →
Анна (2010-12-02 14:17) [4]Это все понятно... НО. мне надо на одном листе... Как проанализировать что достигнута пунктирная линия? (Поля в Excel заранее определены)
← →
12 © (2010-12-02 14:35) [5]Sheet.HPageBreaks.Count
← →
12 © (2010-12-02 14:39) [6]всмысле, погуглите на эту тему.
Sheet.HPageBreaks.Count - дает верное колво брейков, но далее по коллекции с пол-пинка достучаться не удалось
← →
Анна (2010-12-02 14:46) [7]
> 12 © (02.12.10 14:39) [6]
Это я уже делала, не получилось. Это уже по факту определяется кол-во разрывов (можно и самаому в любои месте поставить разрыв страницы...) Но мне надо не по факту, а по мере заполнения проанализировать, достигнут ли конец страницы... :((
← →
Dennis I. Komarov © (2010-12-02 15:30) [8]Уверены, что при различных настройках принтера (ов), они будут одинаковы? Хотя если заданы явно, то возможно да, но я так понимаю, что в данном случае разметка страницы явно не определяется...
← →
Анна (2010-12-02 15:39) [9]
> Dennis I. Komarov © (02.12.10 15:30) [8]
Не смогла я с этим вопросом разобраться... Так что буду делать путем подсчета высоты предыдущей строки (уже заполненной) и накапливать сумму, как только сумма будет близка к концу страницы, буду ставить разрыв.
← →
Dennis I. Komarov © (2010-12-02 15:44) [10]Может сразу прикинуть сколько, убрать пару строк для верности и разделить?
Вообще, почему для передачи инфы Excel понадобился, и чем обосновано условие [4]?
← →
Анна (2010-12-02 15:50) [11]
> Dennis I. Komarov © (02.12.10 15:44) [10]
Кол-во строк тоже не подходит, т.к. при заполнении если не вмещается в ячейку - то перенос, и соотв. ячейка раздвигается в высоту.
Конечно было бы проще сдалать на разных листах и автоматом,средствами Excel-я повторять шапку, но заказчиков много и как правило не разбираются в Excel-е и есть вероятнось, что не переключатся на другой лист и не увидят данных...
← →
Dennis I. Komarov © (2010-12-02 16:00) [12]
> Анна (02.12.10 15:50) [11]
Тогда зачем Excel? А вдруг его вообще нет?
А от того, что Вы будите пытаться сделать за них их же работу (это я про размерку страниц)... ничего хорошего не получиться. А кому-то надо не A4, кому-то не видно, шрифт больно мелкий, кому-то альбом понадобился... и т.д. И Как?
← →
Анна (2010-12-02 16:12) [13]У меня форма из приказа, от которой отступиться нельзя. И шрифт, и лист книжный, и поля - все задано и нельзя нарушать... И заказчики не будут ее распечатывать, они получат готовый файл и отчитаются в электронном виде перед вышестоящей организацией.
Спасибо за участие.
← →
12 © (2010-12-02 16:16) [14]
> И Как?
это не ответ Dennisу, это вообще, как у нас например было
Элементарно.
В шаблоне фиксируется шапка, файл-шаблон с программой идет.
← →
Анна (2010-12-02 16:23) [15]
> 12 © (02.12.10 16:16) [14]
В том то и дело, что это элементарно. Но у меня, в зависимости от НД, на первых 2 страницах, например, будет одна шапка. На 3 и 4 странице - другая.
← →
Dennis I. Komarov © (2010-12-02 16:24) [16]
> Анна (02.12.10 16:12) [13]
Ну так почему же EXCEL???
> .. И заказчики не будут ее распечатывать, они получат готовый
> файл и отчитаются в электронном виде перед вышестоящей организацией.
Просто фигею... Какай-какая отчетность??? А что мешает туды бяку нарисовать? А потом скажут, мол программа криво посчитала. Глюки...
← →
Dennis I. Komarov © (2010-12-02 16:28) [17]
> В том то и дело, что это элементарно. Но у меня, в зависимости
> от НД, на первых 2 страницах, например, будет одна шапка.
> На 3 и 4 странице - другая.
Да хоть 34... Есть шапка. Сделали с ней шаблон. По необходимости заполнили. Сохранили как... Едем дальше...
← →
Анна (2010-12-02 16:28) [18]
> Dennis I. Komarov © (02.12.10 16:24) [16]
За многие годы работы никто еще бяку не рисовал :))
← →
Dennis I. Komarov © (2010-12-02 16:32) [19]
> За многие годы работы никто еще бяку не рисовал :))
иногда одного раза достаточно... 810 на 840 поменяли и... :)
← →
Анна (2010-12-02 16:32) [20]
> Dennis I. Komarov © (02.12.10 16:28) [17]
> Сохранили как... Едем дальше...
Едем дальше на этом же листе, новая шапка игнорируется, повторяется естественно старая...
← →
Dennis I. Komarov © (2010-12-02 16:37) [21]Ну если шапка другая, то шаблон тоже другой...
Вобщем ВСЮ ситуацию в студию, или я отказываюсь понимать...
← →
Анна (2010-12-02 16:43) [22]Ситуация такая: всего одни лист д.б. Но нем по мере заполнения образуются страницы, отделенные пуктирной чертой. Когда шаблон повторяем (шапка) то шапка присутствует только на первой странице, но на предварительном просмотре и для печати вставляется по всем страницам. И через 2 страницы уже не вставить другую шапку. Поэтому мне надо программно рисовать шапку (что я и делаю) и заполнять первые 2 листа, на 3 и 4 листе (например) снова программно рисовать уже другую шапку и снова заполнять данными из НД.
Денис, спасибо за участие. Побежала в садик.
← →
Anatoly Podgoretsky © (2010-12-02 16:58) [23]> Анна (02.12.2010 13:40:00) [0]
Говоришь массив переносишь и не знаешь в какую строчку и какой он длины?
← →
Dennis I. Komarov © (2010-12-02 16:58) [24]Начнем сначала:
Почему лист должен быть один?
> Но нем по мере заполнения образуются страницы, отделенные
> пуктирной чертой.
Не образуются там никаких страниц. Откройте чистый лист - нету там никаких пунктирных линий.
> но на предварительном просмотре и для печати вставляется
> по всем страницам. И через 2 страницы уже не вставить другую
> шапку.
Что мешает для каждой "шапки" иметь свой файл (про лист специально не говорю).
← →
MonoLife © (2010-12-03 04:58) [25]
> Dennis I. Komarov © (02.12.10 16:58) [24]
>
> Почему лист должен быть один?
наверное, шаблон отчета нельзя менять (указ сверху) :)
← →
Анна (2010-12-03 09:04) [26]
> Anatoly Podgoretsky © (02.12.10 16:58) [23]
> Говоришь массив переносишь и не знаешь в какую строчку и
> какой он длины?
Знаю какой длины. Но какой высоты каждая строка будет- не знаю. Поэтому и хотела отследить конец страницы по мере вставки строки и при переходе на следующую страницу начинать ее (страницу) с шапки, которую програмным путем строю (никакого шаблона не использую, каждый раз рисую и заполняю новую шапку прогр. путем). И вопрос мой так и звучал, как отследить, что страница заполнена и следующая строка уже пойдет на следующий лист. (Поля заранее установлены). Может я как-то неправильно выражаюсь, и меня не понимают? :((
← →
12 © (2010-12-03 09:05) [27]а чтоб файло не поменяли - крепим его в ресурсы
← →
Ой (2010-12-03 09:13) [28]А шо такое "ХП" ? Хрен Поймёжжж? )
← →
Dennis I. Komarov © (2010-12-03 09:42) [29]
> А шо такое "ХП" ? Хрен Поймёжжж? )
К сути вопроса это не относится, но ИМХО, - Stored Procedure
← →
Anatoly Podgoretsky © (2010-12-03 09:46) [30]> Анна (03.12.2010 09:04:26) [26]
Это другое дело, с переменно длиной сложнее
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.02.27;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.003 c