Mall för Avancerad excelrapport |
Rulla Föregående Upp Nästa Mer |
Arbetsgång:
•Börja med att skapa en ny excelfil och lägg till två blad, “Konfigurering” och “Mall”.
•Bladet för konfigurering innehåller information som används när rapporten genereras. Den första kolumnen innehåller variabelnamn, den andra kolumnen innehåller värde och den tredje innehåller en parameter (om så krävs).
Obligatoriska variabler:
Variabel |
Beskrivning |
Header Start |
Anger startraden för sidhuvudet. |
Header Stop |
Anger slutraden för sidhuvudet. |
Detail Start |
Anger den första dataraden, vilken också innehåller malltaggarna. |
Detail Stop |
Anger den sista dataraden på var sida. |
Footer Start |
Anger startraden för sidfoten. |
Footer Stop |
Anger slutraden för sidfoten. Det är viktigt att denna rad är den sista rad som ryms på ett blad. |
Valfria variabler:
Variabel |
Beskrivning |
Sheet Postbuild |
Låter användaren ange ett makro som ska köras efter det att varje blad har genererats. Parameter krävs och anger målkolumn. |
Row PostFun |
Låter användaren ange en fördefinierad funktion som ska köras efter varje rad. Dessa funktioner lagras i ides ramverk och kan inte ändras av användaren. |
Sheet Naming |
Tillåter användaren att ange utdatabladnamnet, till exempel MittBlad_<SHEET> blir MittBlad_1, MittBlad_2 etc. Tillgängliga taggar är: <SHEET>. Standardvärde för blad är <SHEET> |
File Naming |
Tillåter användaren att ange utdatafilnamnet, till exempel MinFil_<SHEET> blir MinFil_1.xls. Tillgängliga taggar är alla taggar från rapportsidhuvudet. Standardvärde för filnamn är <DOCNO>_<SHEET> |
Remove Module |
Kommer att ta bort (radera) en namngiven modul från utdatafilen. Får användas om utdatafilen inte får ha makron. |
Detail Page Columns |
Man kan begränsa bredden på rapportdatasektionen och låta data visas i flera rapportdatakolumner. Här anges hur många rapportdatakolumner som mallen innehåller. Variabeln Detail Page Column Size är obligatorisk om man vill visa flera rapportdatakolumner. |
Detail Page Column Size |
Anger hur många excelkolumner varje rapportdatakolumn tar upp i bredd. Variabeln behöver endast sättas om man använder sig av Detail Page Columns. |
Funktioner
Det finns inbyggda funktioner som kan köras genom att anropa dem från alternativet ‘Row postfun’ i konfigurationsbladet.
Tillgängliga funktionsnamn: (Row postFun | Function name | Column effected)
ExpandRowDown, Parameter = [COLUMN] – Kontrollerar en kolumns värden för att bestämma om hela värdet ryms i cellen. Om det inte ryms, kommer cellen att expandera till raden under.
BlankAfterNumberSeries, Parameter = [COLUMN]|[BLANKROWS] – Kommer att sätta in tomma rader efter att en nummerserie avbrutits.
T.ex. Parameter = 1|2, detta kommer att läsa datan i kolumn 1 och om numret i kolumnen blir högre än 1, bryts nummerserien och 2 tomma rader sätts in.
BlankAfterNewObject - Blank rad sätts in om värdet i den kolumnen skiljer sig från föregående. Det är den kolumnen som ska användas av funktionen för att avgöra om det är ett nytt objekt eller inte.
Exempel på Konfigurationsfliken:
Exempel på Mallfliken:
Mall
Mallbladet består av en färdig layout på en rapportsida. Sidhuvudet och sidfoten ska innehålla xml-nodnamn på värden från REPORT_HEADER (xml-rapportfil) sektionen, och den första detaljraden ska innehålla xml-nodnamn från REPORT_ROWS.
Obs! Funktionen wrap text är inte tillåten att använda i cellerna.
Inbyggda taggar
I sidhuvudet och sidfoten av mallen finns inbyggda taggar. Dessa är:
<PAGE> - vid generering ersätts denna med aktuellt sidnummer
<NEXT> - vid generering ersätts denna med nästa sidnummer. Om det inte finns fler sidor ersätts denna med “-“
<MAXPAGE> - vid generering ersätts denna med det sista sidnumret i rapporten.
Makron
Inbyggda makron kan köras efter varje rapportsida genom att anropa dem från alternativet ‘Sheet Postbuild’ i konfigurationsbladet. Makrona används för att utföra olika uppgifter i de olika mallarna. Exempel på makron kan vara DelaBeteckning, TabortPrefix, GorKommaSeparerad etc. Makron som är anropade från ‘Sheet Postbuild’ tar alltid en parameter som anger vilken kolumn den ska köra makrot mot. Det är upp till utvecklaren av makrot att använda denna parameter eller inte.
Exempel på makrobody:
•Sub DelaBeteckning (cell1 As String, cell2 As String)
•End Sub