Forum: ASP.NET |
Thema:
Re: Excel-File erstellt, Prozess bleibt im Taskmanager erhalten? |
Von:
Thomas Grupp (
15.06.2005 07:01) |
Also die ExcelApplication-Variable habe ich nun klassenweit deklariert:
Public Class Dateien
Private Shared xlApp As Excel.Application
....
Wenn dann die Sub aufgerufen wird, die die Excel-Arbeitsmappe erstellen soll, wird geprüft, ob auf dem Server eine Excel-Application läuft, laufen mehrere (mehr als eine) werden alle gekillt und eine neu erstellt, sonst wird auf die vorhandene zurückgegriffen. So verhindere ich, dass mehrere Excel-Prozesse im Arbeitsstpeicher hängen (kurzfristig max. 2) und andere System auf dem Server dürfen natürlich auch keine Excel-Prozesse starten!!
Public Shared Sub XLSErstellenExcel(ByVal myTable As DataTable, ByVal Dateiname As String)
'Dim xlApp As Excel.Application
Dim xlMappe As Excel.Workbook
Dim xlBlatt As Excel.Worksheet
Dim xlZelle As Excel.Range
Dim myRow As DataRow
Dim myColumn As DataColumn
Dim AnzColumns As Integer = myTable.Columns.Count
Dim I, H As Integer
'Dim ProcVorhanden As Boolean = False
Dim PC As System.Diagnostics.Process
Dim myPCAnzahl As Int16 = PC.GetProcessesByName("EXCEL").Length
If myPCAnzahl > 1 Then
For Each PC In System.Diagnostics.Process.GetProcesses
If PC.ProcessName = "EXCEL" Then
PC.Kill()
xlApp = Nothing
End If
Next
End If
If xlApp Is Nothing Then
xlApp = New Excel.Application
End If
Betreff |
Von |
Datum |
|
|
G.
Guest
|
16.06.2005 13:27 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!