Създайте свой генератор на Microsoft Excel доклади за Делфи, тек блог

Защо имаме нужда от система за докладване

Интернет отдавна е море от информация за взаимодействието на Delphi и Microsoft Excel, а аз няма да пиша друг водач. Вместо това, аз предлагам да видите как тя съвсем спокойно може да се развие своите доклади до Excel изходна система, която е достатъчна за решението, ако не всички, но повечето от проблемите.

Когато всеки доклад е напълно оформен код в Делфи недостатък на този метод е, че на код на Delphi не можеше да види логиката на процеса на създаване на доклад, и най-важното - да се промени всеки детайл в дизайна трябваше да прави промени в кода и да компилирате проекта. Тогава идеята да се напише малко генератор доклад и шаблон за отчет - това е обичайната ekselevsky файла, който всеки ще може да се коригира това, което той има нужда, и да се определи предварително изходен формат за отпечатване.

Устройството е самостоятелно отчитане инструмент за Excel

В основата на модела се допълва от "ленти". Band е една или повече линии, разположени в един ред и които имат един и същ етикет - името на групата. Тя се поставя в първата колона на всеки ред. Това е около изглежда готов шаблон за отчет:

Създайте свой генератор на Microsoft Excel доклади за Делфи, тек блог

Нашата компонент ще бъде в състояние да отворите шаблона, поставете посочено лента, поставете стойността на променливите в последната въведена Bend да покаже напредък в редица получени линии (за простота ние няма да се занимавам с погрешна преценка от общия брой), както и правилното, за да отворите самия резултат.

Доклад самия клас е много проста:

Започнете изграждането на всеки доклад ще бъде процедура предизвикателство OpenTemplate, че ще работят Excel, да го отворите в желания модел, както и да инициира необходимите допълнителни променливи:

В него се споменава TA7xProgress обект, който е просто форма с няколко тагове, за да покаже на потребителя за напредъка на строителството на доклада, че не мисля, че програмата увисва.

След като шаблонът е отворен, доклад сграда код ще предизвика PasteBand начина, винаги трябва да добавите към оригиналната празен лист на друго парче от образеца за отчет.

Технологията включва добавянето на банди, които ние поставяме в банди точно преди моделът, оставяйки по този начин шаблона е винаги в края на документа. За това ние намираме ние желания банда на име започва да изглежда след последния контакт на поставена лента и след това, и в допълнение се определят от дължината и е установено, банда. Т.е. следния код в променливи FirstBandLine LastBandLine и задържат в началото и края на групата:

Освен това, този модел е намерено kopipasta поставени непосредствено след последния контакт Band, ако той вече е:

Е, смяна на променливите, които показват положението на последния ред на доклада, и това, което сега се копира нашата група. Последно, което трябва да се знае в какъв диапазон на срока, за да потърсите ни желания на името на променливата, за да замени своите ценности:

Следващият метод, който ще бъде използван за извеждане на стойности за шаблон вече копирани парче - SetValue. Кодът за този метод е изключително проста, като търсене, подмяна на ценностите в рамките на определен диапазон с помощта на Excel:

SetValue метод трябва да бъде извикана толкова пъти, колкото ние сме на истинските ценности, ние лента. Най-накрая, след всички групи ще бъдат изтеглени, последният метод се нарича - Show, което най-накрая отстранен шаблона, който се премества в края на документа, както и Excel Trnsfer от невидимата състоянието на видимото.

Заслужава да се отбележи, че ако ние кажем, да се прекъсне доклада за отстраняване на грешки, за да Excel.Visible повикване: = вярно; тогава Excel ще остане висящ в невидимата памет, както и нова инстанция на Excel е създадена за следващия доклад.

Какво е използването на инструмента за докладване в Делфи-код

Сега най-интересното - пример за този доклад генератор:

Тук е пълна процедура, която с помощта на шаблон, показан по-горе показва дадена фактура в Excel формат:

Както можете да видите, логиката на формирането на печатната форма е напълно прозрачно и не е обременена с техническите стойности на изход код в желаните клетки на Microsoft Excel - всичко това се грижи за нашата част от доклада, и в допълнение, за разлика от много инструменти за отчитане, имаме Delphi цялата власт да се изчисли и да получи имаме нужда от ценности в различни части на процеса на създаване на доклад.

И сега най-важното нещо ...

Къде мога да намеря тази прекрасна система и дори безплатно

Начална страница на проекта е по a7in.com