Hola amigos....
De nuevo tratanto de encontrar como se exporta un QRY a excel usando una plantilla de por medio. Les explico el caso.
Tengo una plantilla con los formatos definidos asi como las formulas que se necesitan, generarlo no es problema en Windows y teniendo instalado el Excel, el problema es que ya cambiamos de plataforma de S.O. ahora estamos usando Linux Suse Enterprise...y pues ahi o tenemos Excel instalado.
He consultado lo siguiente:
http://www.clubdelphi.com/foros/showthread.php?t=703
http://www.clubdelphi.com/foros/arch...hp/t-4845.html
http://www.clubdelphi.com/foros/showthread.php?t=11950
http://www.clubdelphi.com/foros/showthread.php?t=6060
http://www.clubdelphi.com/foros/showthread.php?t=703
http://www.clubdelphi.com/foros/show...=qreport+excel
http://www.clubdelphi.com/foros/showthread.php?t=16467
Estas páginas las he consultado y en algunas hacen referencia a otra, pero no funciona el link.
En otras menciona algo de BIFF(creo q esto podría ser la solución) pero no logro como se podria usar y ni ejemaplos tampoco, les comento que tengo instalado los componentes de delphi.com.ar.
También tengo instalado los siguientes componentes:
XLSExport, pero me pide una archivo llamado CFILE.PAS, el cual lo busque en mi laptop y no lo encuentra.
FIRESOFT, pero no permiten el manejo de una plantilla.
MAX: Aqui me parece que no manejan plantillas, generan sí el archivo pero con un formato que no necesito como los de FireSoft o bien no sé del todo su utilización.
XLSREADWRITE : Este es de evaluación y sí realiza lo que necesito, pero solo es por algunos dias.
Han de perdonar que escriba sobre esto nuevamente, ya he creado hace algunos meses este mismo tema en otro hilo, pero obvio no obtuve respuesta satisfactoria, desde q me enteré que ibamos a cambiar a Linux, empece a investigar pero sin resultados satisfactorios.
Les comento que en el momento de crear el objeto, corriendo mi sistema en linux, me manda un error "Ole Error 80040...(no recuerdo lo demas)", supongo q lo manda porq no se tiene el excel.
Si alguien sabe como se puede resolver lo anterior se los agradezco.
Bueno les pongo algo del código q utilizo para generar el archivo de Excel mediante una plantilla sobre un S.O Windows teniendo instalado Excel:
Código Delphi
[-]procedure TfrmExportar.btnAplicarClick(Sender: TObject);
Var
Excel, Libro: Variant;
Lin,c,l,xDia,Bandera,nHoja,nMes,nMes2,nLec1, nLec2,nAnio, nTipoContr1, nTipoContr2 :Integer;
cMes,cFichero:string;
AA,MM,DD,dDia,dMes,dAnio:Word;
dFecha1, dFecha2, dFecha3:TDateTime;
begin
qryVentasDiarias.Close;
qryVentasDiarias.SQL.Clear;
qryVentasDiarias.SQL.LoadFromFile('C:\SQLS\EXP_VENTAS.SQL');
qryVentasDiarias.ParamByName('MES').AsInteger:=cbxMes.ItemIndex+1;
qryVentasDiarias.ParamByName('ANIO').AsInteger:=StrToInt(mskAnio.Text);
qryVentasDiarias.ParamByName('PRODUCT').AsString:=cbxProducto.KeyValue;
qryVentasDiarias.Open;
qryVentasDiarias.First;
qryExportar.Close;
qryExportar.SQL.Clear;
qryExportar.SQL.LoadFromFile('c:\SQLS\EXP_ENCAB.SQL');
qryExportar.ParamByName('MES').AsInteger:=cbxMes.ItemIndex+1;
qryExportar.ParamByName('ANIO').AsInteger:=StrToInt(mskAnio.Text);
qryExportar.ParamByName('PRODUCT').AsString:=cbxProducto.KeyValue;
qryExportar.Open;
qryExportar.First;
if cbxProducto.KeyValue='TT-303-0001' then
begin
try
Bar.Step:=1;
Bar.Max:=qryVentasDiarias.RecordCount;
Excel:=CreateOleObject('Excel.Application');
Excel.Visible:=false;
Excel.DisplayAlerts:=False;
Excel.WorkBooks.Add('c:\SQLS\Plantillas\RPT_01.xlt');
nHoja:=1;
Libro:=Excel.WorkBooks[1].WorkSheets[nHoja];
cMes:=cbxMes.Items[cbxMes.itemindex];
Libro.Cells[3,2]:='Comportamiento de las ventas / Solicitud de leche del mes de '+cMes+'-'+mskAnio.Text+'.';
Libro.Cells[5,2]:='Dias de Venta:';
Creo q el problema esta en "Excel:=CreateOleObject('Excel.Application');".
Si me pueden ayudar con algo de código, para generar una archivo de Excel usando una plantilla que tenga las mismas caracteristicas de mi código, es decir, que pueda registrar información celda por celda, sin tener instalado el Excel....
Gracias por su tiempo y dedicación muchachos....SALUDOS !