Ir al contenido principal

Combinar resultados de un archivo Excel externo

Estructura

MergeExternalExcelFileResults(sFileList, iMergePDFStartPages, iMergePDFEndPages, sPageNumberFormat, dPageNumberX, dPageNumberY, sPageNumberAlign, iPageNumberFontSize)

Tipo

Función

Descripción

Este procedimiento combinará una sección de resultados de varios archivos Excel externos y creará un único archivo PDF. El PDF resultante se guarda temporalmente en la base de datos para poder fusionarlo posteriormente con el certificado creado en PrintBuilder (por lo general, se toma una página de cabecera de este certificado y se añade una página final al final, quedando los resultados de Excel en el centro del PDF). Las secciones que se exportan desde cada archivo de Excel se definen en la hoja de cálculo «PDF Output», al igual que cuando se utiliza el tipo de punto de prueba «Excel con salida a PDF». El archivo de Excel suele abrirse desde el mismo proyecto de script mediante el procedimiento LaunchExternalExcelFile.

Parámetros = 8

sFileList = una lista de los archivos de Excel que se van a fusionar, separados por comas. Esta debe ser la ruta completa, incluyendo el directorio o subdirectorio, el nombre del archivo y la extensión.

iMergePDFStartPages = el número de páginas que deben extraerse del inicio del certificado PrintBuilder correspondiente y, a continuación, fusionarse al principio del PDF final, antes de los resultados de Excel.

iMergePDFEndPages = el número de páginas que deben extraerse del final del certificado PrintBuilder correspondiente y, a continuación, fusionarse al final del PDF final, después de los resultados de Excel.

sPageNumberFormat = Una vez creado el PDF, el texto del número de página se inserta en todas las páginas. Este es el formato del texto. Ten en cuenta que los elementos de fusión «[Página]» y «[Total]» se sustituyen por valores reales. Ejemplo: «Página [Página] de [Total]»

dPageNumberX = La posición X del texto del número de página en todas las páginas.

dPageNumberY = La posición Y del texto del número de página en todas las páginas.

sPageNumberAlign = La alineación del texto del número de página con respecto a la posición anterior. Los valores posibles son «LEFT», «CENTER» y «RIGHT».

iPageNumberFontSize = El tamaño de fuente del texto del número de página en todas las páginas.

Valor devuelto

La función devuelve un «1» si se ejecuta correctamente o un «0» si falla.

Ejemplo

Pascal

sAllExcelFiles := ''; // por defecto
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
'Página [Página] de [Total]', // sPageNumberFormat
6.20, // dPageNumberX
10.85, // dPageNumberY
'IZQUIERDA', // sPageNumberAlign
10); // iPageNumberFontSize
finally
Screen.Cursor := crDefault;
end;
if not bMerged then ShowMessage('Error: Archivos NO fusionados.')
end;