Cita:
Empezado por shoulder
Me olvide de comentar algo.
Hola primero gracias por responder, utilizo delphi 7 con mysql, no uso plantilla. Genero desde unos datos de la base, un listado de pagos que cambia en cantidad de registros todos los meses, en el cual con el CreateOleObject, genero el excel con el titulo, columnas, fonts,bordes.. hasta ahi todo perfecto. Ademas genero desde el OleObject, solapas dentro del excel, porque hago dentro de un mismo reporte tantas hojas de calculo como empresas tenga para ese mes, o sea dentro de una hoja la empresa con el nombre en la hoja (en la solapa) y sus pagos con la sumatoria.
Lo unico que no se que me estan solicitando es que cuando salte de hoja el listado agregue al principio de cada hoja la palabra "ANEXO".
|
Buenas tardes Shoulder. Ya con lo que me comentas, te puedo sugerir lo siguiente, el archivo es exportado a formato de Excel, entonces solamente haria falta lo siguiente.
En este codigo te defino al momento de dar click en un boton, haria esto:
Código Delphi
[-]
procedure TfrmExportar2.btnAplicarClick(Sender: TObject);
var
XLS : TXLSFile;
Lin,c,l,Bandera,nHoja,xDia,nMes,nMes2,nLec1, nLec2,nAnio, nTipoContr1, nTipoContr2 : integer;
cMes, cFichero,cProducto : String;
AA,MM,DD,dDia,dMes,dAnio : Word;
dFecha1, dFecha2, dFecha3 : TDateTime;
Dias : Array[1..31] of integer;
begin
cProducto:=cbxProducto.KeyValue+' '+cbxProducto.Text;
ModDatos.qryPas.Close;
ModDatos.qryPas.Open;
try
nHoja:=0;
XLS:=TXLSFile.Create;
.
.
.
.
(los puntos significa mas código, que para el caso de ejemplo no lo pongo ya que no es necesario)
Mas adelante en este mismo código, defino lo siguiente:
Código Delphi
[-] XLS.OpenFile(ExtractFilePath(Application.ExeName)+'\plantillas\fluida_2010.xlt');
Bar.Step:=1;
Bar.Max:=qryVentasDiarias.RecordCount;
cMes:=cbxMes.Items[cbxMes.itemindex];
With xls.Workbook.Sheets[nHoja] do
begin
Cells[1,1].Value :='Empresa:'+ModDatos.qryEmpresa.fieldbyname('DESCRIPCION').AsString;
Cells[3,1].Value :='Comportamiento Estadistico Mensual de Ventas correspondiente a: '+cMes+'-'+mskAnio.Text+'.';
Cells[4,1].Value :='Dias de venta';
Cells[4,2].Value :=qryExportar.FieldByName('DIAS_HABILES').AsString;
Cells[5,237].Value:='T O T A L LITROS MES DE '+cMes+' DEL '+mskAnio.Text;
Cells[7,9].Value :='('+qryExportar.FieldByName('DIAS_DISTRIBUCION').AsString+' DIAS DIST).';
Cells[8,9].Value :='('+qryExportar.FieldByName('DIAS_HABILES').AsString+ ' DIAS VENTA).';
Cells[8,10].Value :=IntToStr(cbxMes.ItemIndex+1)+'/'+mskAnio.Text;
end;
En esta parte defino en el encabezado, lo que necesito. Aqui podria quedar lo q tu quieras. Ahora, TU PROBLEMA RADICA en como AGREGAR LA PALABRA "ANEXO" EN CADA PAGINA.....solamente definelo como en el codigo anterior, talvez asi:
Código Delphi
[-].
Cells[1,237].Values:='ANEXO';
y en la parte de impresión pudieras dejárselo al usuario, es decir que el seleccione el encabezado y el rango de impresión.
Por otra parte ignoro, si los usuarios no quieres hacer nada....es decir solo abrir e imprimir...si es asi, entonces lo q te sugiero no te va a servir de mucho.
Por cierto el componente q utilizo es "TXLSFile", tú estas utilizando el que trae Delphi de la paleta de Servers.
Espero haberte ayudado u orientado.