Ergebnisse aus externer Excel-Datei zusammenführen
Aufbau
MergeExternalExcelFileResults(sFileList, iMergePDFStartPages, iMergePDFEndPages, sPageNumberFormat, dPageNumberX, dPageNumberY, sPageNumberAlign, iPageNumberFontSize)
Typ
Funktion
Beschreibung
Mit diesem Vorgang werden Teile der Ergebnisse aus mehreren externen Excel-Dateien zusammengeführt und zu einer einzigen PDF-Datei zusammengefasst. Die so erstellte PDF-Datei wird vorübergehend in der Datenbank gespeichert, damit sie später mit dem von PrintBuilder erstellten Zertifikat zusammengeführt werden kann (in der Regel wird eine Kopfseite aus diesem Zertifikat übernommen, dann wird am Ende eine Schlussseite eingefügt – wobei die Excel-Ergebnisse in der Mitte der PDF-Datei stehen). Die aus den einzelnen Excel-Dateien ausgegebenen Abschnitte werden auf der Arbeitsblattseite „PDF-Ausgabe“ definiert, genau wie bei Verwendung des Testpunkttyps „Excel mit PDF-Ausgabe“. Die Excel-Datei wird in der Regel innerhalb desselben Skriptprojekts mithilfe der Prozedur LaunchExternalExcelFile geöffnet.
Parameter = 8
sFileList = eine Liste der zusammenzuführenden Excel-Dateien, getrennt durch Kommas. Dies sollte der vollständige Pfad sein, einschließlich Verzeichnis/Unterverzeichnis + Dateiname + Dateiendung.
iMergePDFStartPages = die Anzahl der Seiten, die vom Anfang des zugehörigen PrintBuilder-Zertifikats übernommen und dann am Anfang der endgültigen PDF-Datei vor den Excel-Ergebnissen eingefügt werden sollen.
iMergePDFEndPages = die Anzahl der Seiten, die vom Ende des zugehörigen PrintBuilder-Zertifikats übernommen und anschließend am Ende der endgültigen PDF-Datei hinter den Excel-Ergebnissen eingefügt werden sollen.
sPageNumberFormat = Nach der Erstellung der PDF-Datei wird der Seitenzahltext auf allen Seiten eingefügt. Dies ist das Format des Textes. Beachten Sie, dass die Zusammenführungselemente „[Seite]“ und „[Gesamt]“ durch tatsächliche Werte ersetzt werden. Beispiel: „Seite [Seite] von [Gesamt]“
dPageNumberX = Die X-Position des Seitenzahltextes auf allen Seiten.
dPageNumberY = Die Y-Position des Seitenzahltextes auf allen Seiten.
sPageNumberAlign = Die Ausrichtung des Seitenzahltextes ausgehend von der oben genannten Position. Mögliche Werte sind „LEFT“, „CENTER“ und „RIGHT“.
iPageNumberFontSize = Die Schriftgröße des Seitenzahltextes auf allen Seiten.
Rückgabewert
Die Funktion gibt bei Erfolg eine „1“ und bei einem Fehler eine „0“ zurück.
Beispiel
Pascal
sAllExcelFiles := ''; // Standard
dxmdExcelFiles.DisableControls;
try
dxmdExcelFiles.First;
while not dxmdExcelFiles.EOF do
begin
if sAllExcelFiles <> '' then sAllExcelFiles := sAllExcelFiles + ',';
if Trim(dxmdExcelFiles.FieldbyName('FILE_NAME').AsString) <> '' then sAllExcelFiles := sAllExcelFiles + sIndyTempDir + Trim(dxmdExcelFiles.FieldbyName('FILE_NAME').AsString);
dxmdExcelFiles.Next;
end;
finally
dxmdExcelFiles.EnableControls;
end;
if (Sender = bMergeAll) then
begin
Screen.Cursor := crHourglass;
try
bMerged := MergeExternalExcelFileResults(sAllExcelFiles,
1, // iMergePDFStartPages
1, // iMergePDFEndPages
'Seite [Seite] von [Gesamt]', // sPageNumberFormat
6.20, // dPageNumberX
10.85, // dPageNumberY
'LEFT', // sPageNumberAlign
10); // iPageNumberFontSize
finally
Screen.Cursor := crDefault;
end;
if not bMerged then ShowMessage('Fehler: Dateien wurden NICHT zusammengeführt.')
end;