Ver Mensaje Individual
  #14  
Antiguo 02-10-2014
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Reputación: 22
fjcg02 Va camino a la fama
Hola a todos,
intentaré ir por partes.

Mi código se conecta a excel vía servidores. He dejado en el código lo más relevante, tal como está o funciona pero es para que os hagais una idea.

Código Delphi [-]
...
    ExcelApplication1: TExcelApplication;
...

procedure TForm1.LLevaraExcel( Data: TClientDataSet);
var ...;
begin
LCID := GetUserDefaultLCID;
ExcelApplication1.Connect;
ExcelApplication1.Visible[0] := True;
ExcelApplication1.Workbooks.Open(DBEPlantilla.Text, False, False,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
                                  EmptyParam,EmptyParam,LCID);


ExcelWorkbook1.ConnectTo(ExcelApplication1.ActiveWorkBook);

ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add(EmptyParam,0));
ExcelWorksheet1.ConnectTo(ExcelApplication1.Sheets[1] as _WorkSheet);
  try
    Data.First;
    while not(Data.eof) do
    begin
      bla, bla, bla...
      Data.Next;
    end;
  Except
     ShowMessage('Atención, se produjo un error en la transmisión.');
  end;
ExcelWorkbook1.SaveAs(DBEFicheroGenerado.Text,
                              -4143 {51}, emptyParam , emptyParam, false, false,
                              1, emptyParam, false, emptyParam, emptyParam,
                               emptyParam, 0);
ExcelWorkbook1.Close;
ExcelApplication1.Disconnect;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;

end;

1- ¿Como se llama la Librería Free que mencionas?, ¿Cual es el link de la misma?.
La liberia que he nombrado es ésta

http://avemey.com/
ZEXMLSS for Lazarus, Delphi and C++Builder - Works with OpenDocument Format (ods)/Excel XML Spreadsheet/Office Open XML (xlsx) file format without installed Excel/OO Calc..
ZEXMLSSLIB 0.0.6 (beta)
Lazarus, Delphi 7, C++Builder 6.
Borland Developer Studio 2005, BDS 2006, CodeGear Delphi 2007,
CodeGear RAD Studio 2009, 2010, Delphi XE è Delphi XE2.

Permite crear ficheros en varios formatos.

La librería no permite abrir ficheros en Delphi, sí en Lazarus:
fichero xexlsx.pas de la libreria
Código Delphi [-]
...
{$IFDEF FPC}
function ReadXSLX(var XMLSS: TZEXMLSS; FileName: string): integer; deprecated {$IFDEF FPC}'Use ReadXLSX!'{$ENDIF};
function ReadXLSX(var XMLSS: TZEXMLSS; FileName: string): integer;
{$ENDIF}
...

2- ¿Probastes usar Automatización de Excel (Msg #4 Opción 2) en lugar de los componentes ExcelApplication, ExcelWorkbook y ExcelWorksheet ?.
No he probado la automatización Excel como indicas en el msg#4. Lo probaré. De hecho , me he dado cuenta ahora de que proponías otra solución.

3- ¿Tienes instalado Excel en el Servidor?, ¿Con que versión de Excel interactúa tu aplicación?, ¿En que versión de Windows Server se ejecuta tu aplicación?.
El programa se ejecuta en un equipo con W2008 server R2 y Excel 2007. Se ejecuta bien con la sesión abierta, se queda congelado con la aplicación lanzada desde una tarea programada. He revisado la configuración DCOM completa, dando permisos a todos los usuarios tal como indican en mensajes anteriores.
El programa también funciona en equipos con WXP, W7 y cualquier versión de Office , 2000, 2007 ó 2010, incluso con varias versiones instaladas.

Gracias a todos por vuestra ayuda.

Seguiremos informando...
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita