WAA und Excel

Vom Front-End bis SOAP.

Moderator: Moderatoren

Antworten
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 392
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

WAA und Excel

Beitrag von Armin »

Hilfe... geht das nicht?

Ich versuche im WAA eine Excel-Tabelle zu füllen. Dazu habe ich das Beispiel von Alaska angepasst und mit sleep(0) experimentiert. Ohne sleep() kann das Programm mittendrin abbrechen - in einer Schleife zum Füllen von Zellen - alle LOCAL-Variablen sind weg....

Jetzt läuft die Funktion komplett durch, jedoch stürzt der WAA-Server nach einiger Zeit einfach ab - mit XPPFATAL.LOG

Code: Alles auswählen

Function EP_INORDER(oHTML, oContext)
// *****************************************************************************
// Test
// *****************************************************************************
  LOCAL oExcel, oBook, oSheet

  begin sequence

  oExcel := CreateObject("Excel.Application")
  IF Empty( oExcel )
     oHTML:message("Excel nicht vorhanden")
     BREAK
  ENDIF

  oExcel:DisplayAlerts := .F.
  oExcel:visible       := .T.
  cDir := "g:\Armin"
  oBook  := oExcel:workbooks:Add()
  oSheet := oBook:ActiveSheet
  oSheet:PageSetup:Orientation := xlLandscape
  oSheet:Cells(nRow,1):Value := "Armin"
  sleep(0)
  oSheet:Columns( 1 ):AutoFit()
  sleep(0)
  oBook:SaveAs(cDir+"\Excel1.xls",xlWorkbookNormal)
  sleep(0)
  oExcel:Quit()
  sleep(0)
  oExcel:Destroy()
  sleep(0.1)

  oHTML:message("Exportieren beendet", cDir+"\MyExcel.xls")
  recover
  oHTML:message("Fehler beim Exportieren", "")
  end

  oHTML:message("ende","")
  sleep(0.1)

RETURN .t.
FATAL ERROR LOG
Error within the error handling!
SYS Thread-ID: 1856
Module: EXE
Error Codes: EH: 5 Sub: -1073741819(c0000005) OS: 0 XPP: 41
Call Stack of Thread 1 (556):
SRVSERVEFRONTEND(714)
MAIN(148)
Call Stack of Thread 2 (740):
Call Stack of Thread 3 (1260):
....
Call Stack of Thread 15 (1788):
@CGICHANNEL@I@CONNECT(109)
@WAAGATEWAY@I@CGICONNECT(75)
@WAA1REQUESTER@I@EXECUTE(177)
Call Stack of Thread 16 (1856):
DLGSTAT(58)
File: C:\ALASKA\WAA1W32\SERVER\waa1srv.exe
TimeStamp: 20091230 11:46
End of FATAL ERROR LOG.

Grüsse, Armin
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Martin Altmann »

Moin Armin,
Du könntest (am Ende der Funktion) Deine oExcel, oBook und oSheet noch auf NIL setzen.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 392
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Armin »

Huhu Martin,

habe es eingebaut:

Code: Alles auswählen

  oExcel := NIL
  oSheet := NIL
  oBook  := NIL
der Absturz kommt trotzdem :(
habe jetzt auch noch Excel auf unsichtbar probiert, hilft auch nicht

oExcel:visible := .F.

das ist alles "noch" mit der 331 - hilft evtl. die 335?

Hat das schon mal jemand versucht?

Grüße, Armin
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Martin Altmann »

Hallo Armin,
Armin hat geschrieben:das ist alles "noch" mit der 331 - hilft evtl. die 335?
das wäre auf jeden Fall einen Versuch wert!
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 392
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Armin »

Hallo Martin,

gibt es den WAA eigentlich für 335? Zum Download bei Alaska anscheinend nicht...

Die File-Upload-Geschichte mittels WAA könnte ich auch gebrauchen - ist anscheinend bereits eingebaut aber niemals geliefert...

Ich könnte diese Funktion für den ExcelExport in ein EXE packen, das vom WAA über runshell() gestartet wird - :coffee:

Hat jemand ActiveX mit dem WAA laufen?

Grüße, Armin
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16508
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Martin Altmann »

Hallo Armin,
Armin hat geschrieben:gibt es den WAA eigentlich für 335?
hast ja Recht - ist ja nicht verfügbar.
Habe schon ewig nichts mehr mit dem WAA gemacht, sorry!
Ich nutze ja schon einige Jahr XB2.NET (und habe damit auch bereits mal was mit ActiveX gemacht gehabt - die Grafiken der DevCon-Umfragen und -Statistiken).

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 392
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Armin »

Hallo Martin,

folgendes funktioniert bei mir im WAA (für Auslesen von Webservice):

CreateObject("MSSOAP.SoapClient30")

Es scheint an Excel zu liegen - es ist bei mir die Version 2003 SP3 auf Windows Server 2003...

Hat jemand schon mal OpenOffice Calc angesteuert?

Grüße, Armin
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12906
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 45 Mal

Re: WAA und Excel

Beitrag von AUGE_OHR »

Armin hat geschrieben:Hilfe... geht das nicht?
Ich versuche im WAA eine Excel-Tabelle zu füllen.
ich weiss nicht wie das mit WAA ist, aber was sagt den der Code wenn du ihn "lokal" laufen lässt ?

was ich meine ist : läuft denn dein Code den "so" ?
ich "vermisse" da etliches, hier mal meine "Einleitung"

Code: Alles auswählen

   // save Errorblock
   bSaveError := ErrorBlock()

   // set new Errorblock
   ErrorBlock( {|e| Break(e)} )

   BEGIN SEQUENCE
      // Start Excel
      oExcel := CreateObject( "Excel.Application" )
      IF NIL == oExcel
         // Excel.Application could not be created.
         MSGBOX( "Excel Verbindung konnte nicht erstellt werden" )
         * ? "Error: ", ComLastError()
         * ? "Description:"
         * ? ComLastMessage()
         BREAK
      ELSE

         oWait := WAITBOX( setappwindow(), "Tabelle erstellen", .T., { 200, 140 } )

         oExcel:visible := .F.                   // NOT visible

      // If there is a problem, don't let excel pop up messages
         oExcel:Application:DisplayAlerts := .F.

      // Create a workbook from scratch
         oExcel:Application:Workbooks:new()
         oExcel:Application:Workbooks:add()

      // Office 97 Excel creates 3 worksheets by default
      // Delete 2 of them
*        oExcel:Application:Worksheets(3):delete()
*        oExcel:Application:Worksheets(2):delete()

      // Make the first one active
         oWorkBook := oExcel:activeWorkBook
         oExcel:Application:Worksheets( 1 ):activate()

      // Rename the sheet
         oExcel:Application:Worksheets( 1 ):name := ID_USER

      // Speed things up by creating an object containing the cells
         oSheet := oExcel:Worksheets( 1 ):cells
gruss by OHR
Jimmy
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 392
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: WAA und Excel

Beitrag von Armin »

Hallo Jimmy,

der Code ist das Alaska-Beispiel. Da es sich um WAA, bzw. HTML handelt, habe ich die Ausgaben erstmal ersetzt oder rausgemacht. Ohne die eingefügten sleep stürzt es schon vorher ab.
Ich habe jetzt mal das Alaska-Beispiel lokal laufen lassen... funktioniert... also sollte es wahrscheinlich nicht an Windows 2003, bzw. Excel 2003 liegen.
Die Funktion läuft auch einwandfrei durch, der WAA stürzt erst später ab!

Grüße, Armin
Antworten