Ciao
wenn du VBScript / JScript (also IE und Intranet) erlaubst, kannst du auch auf diese weise ein Excel beim Client erzeugen (muss da natürlich vorhanden sein). Du könntest dann mit einem Agenten den Code ausprinten, welcher danach im IE ausgeführt wird. Bei uns ist sowas im Einsatz (Auszug) :
Function putScript()
Print |<SCRIPT LANGUAGE="VBScript">|
Print |<!-- |
Print |Function OpenExcel|
Print |Dim xl|
Print |Set xl = CreateObject("Excel.Application")|
Print |xl.Workbooks.Open "http://| & docProfile.ProfCLWEBPath(0) |/ConfigViewFilterOE/$file/| & sTempl & |"|
Print |set oData = xl.Sheets("Daten")|
Print |oData.Select|
' -- Daten aus der Liste in ein Array einlesen (bessere Performance beim abfüllen in Excel)
Print |dim arr(| & i & |,11)|
Forall lines In dataList
Print lines
End Forall
'-- Bereich für Daten im Excel-Sheet markieren
Print |dim rng|
Print |set rng = xl.Activesheet.Range("A2").Resize(| & i & |,12)|
'-- Werte einfügen
Print |rng.value = arr|
Print |xl.Sheets("Auswertung").Select|
Print |xl.Visible = True|
Print |set oAuswertung = xl.Sheets("Auswertung")|
Print |oAuswertung.Select|
Print |oAuswertung.cells(1,1) = "Auslastungs Pivot | & sVwTypeName & | Stand: | & Format$(Now) & """"
If sFilter = "0" Then
Print |oAuswertung.cells(2,1) = "Filter: none"|
Else
Print |oAuswertung.cells(2,1) = "Filter: | & Implode(Split(sOE, "~") , ", " ) & """"
End If
Print |set oPivot = xl.Sheets("Auswertung")|
Print |oPivot.Select|
Print |With oPivot|
Print | .Range("A1").Select|
Print | .PivotTables("PivotTable1").RefreshTable 'Pivotabelle aktualisieren (Name kontrollieren)|
Print |End With|
Print |End Function|
Print | -->|
Print |</SCRIPT>|
Print |<SCRIPT LANGUAGE="Javascript">|
Print |OpenExcel();|
Print |history.go(-2);|
Print |</SCRIPT>|
End Function
Diese Funktion öffnet zuerst ein Template auf dem Server und füllt dann die Daten ab. Wenn du aber mal das Excel Objekt hast, kannst du damit Clientseitig eigentlich alles anstellen...
bye z