DevTrain Startseite Advanced Developers Conference vom 14.-15. Februar 2011  
  
  
SUCHEN:  
ARTIKEL ONLINE: 525   

Kategorien
.NET
Datenbanken
Web
XML

Allgemein
Camp
Foren
Events
Persönliche Einstellungen
Registrieren
Prämien Shop
Kontakt
Impressum
Über DevTrain

Autoren



 

Forum: ASP.NET | Thema: Re: Excel-File erstellt, Prozess bleibt im Taskmanager erhalten? | Von: Thomas Grupp ( 08.06.2005 11:08)

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

xlApp = New Excel.Application
xlApp.Visible = False
xlMappe = xlApp.Workbooks.Add 'Add(ExcelVorlagen)

xlApp.DisplayAlerts = False

'
'Tabelle1
'
xlBlatt = xlMappe.Worksheets(1)
xlZelle = xlBlatt.Range("A1")

'Datensätze
Dim myDaten As String
H = 0
For Each myRow In myTable.Rows
H += 1
For I = 1 To AnzColumns
Dim Text As String
If IsDBNull(myRow.Item(I - 1)) Then
Text = ""
Else
Text = myRow.Item(I - 1)
End If
Dim Typ As String
Select Case myTable.Columns(I - 1).DataType.ToString
Case "System.Decimal"
Typ = "#.##0,00"
'Text = Text.Replace(",", ".")
Case Else
Typ = "@"
End Select
xlZelle.Offset(H - 1, I - 1).Value = Text
xlZelle.Offset(H - 1, I - 1).NumberFormat = typ
'myDaten &= Text '& vbTab
Next
'myDaten &= vbCr
Next

xlMappe.SaveAs(Dateiname)

'xlMappe.Close()
'xlApp.Quit()
'xlZelle = Nothing
'xlBlatt = Nothing
'xlMappe = Nothing
'xlApp = Nothing

'xlApp.WorkbookBeforeSave -= EventDel_BeforeBookSave
'xlApp.WorkbookDeactivate -= EventDel_Deactivate


xlMappe.Close(False)

Call NAR(xlZelle)
Call NAR(xlBlatt)
Call NAR(xlMappe)
xlApp.Quit()
Call NAR(xlApp)


'' RCW disposen
GC.Collect()
GC.WaitForPendingFinalizers()

End Sub


Betreff Von Datum
Re: Excel-File erstellt, Prozess bleibt im Taskmanager...
Ich bin mir nicht sicher, ob das SHARED nicht störend ist.<br><br>Zur Not würde ich mit System.Diagnostics.Process.KILL den Prozess löschen.
Guido Nachtigall 08.06.2005 11:15
Re: Excel-File erstellt, Prozess bleibt im...
Wenn nicht shared, was dann - ich muss ja von außerhalb drauf zugreifen können?<br><br>Und wie kenne ich den aktuellen Prozess - es können ja mehrere Excel-Dateien parallel erzeugt werden - ich darf ja...
Thomas Grupp 08.06.2005 11:34
Re: Excel-File erstellt, Prozess bleibt im...
Man kann auch jedes mal eine Instanz dieses Klasse bilden - wenn nicht<br>shared. Es könnte sein, daß der gemeinsame Zugriff das Killen des Prozesses<br>unterbindet. Kannst du mal probieren, ob es nicht...
Guido Nachtigall 08.06.2005 11:43
Re: Excel-File erstellt, Prozess bleibt im...
ich glaube ich stehe gerade auf dem Schlauch?
Thomas Grupp 08.06.2005 11:52
Re: Excel-File erstellt, Prozess bleibt im...
Versuch es mal mit: xlApp.Application.Quit statt xlApp.Quit
Guido Nachtigall 08.06.2005 11:56
Re: Excel-File erstellt, Prozess bleibt...
ich geb´s jetzt bald auf - geht leider auch nicht
Thomas Grupp 08.06.2005 12:01
Re: Excel-File erstellt, Prozess bleibt im...
Also: <br>1) Prüfen, ob bereits ein Prozess Excel erstellt wurde.<br>2) Wenn ja, keine weitere Excel-Application erstellen<br><br>dann mal schauen, ob es trotzdem klappt.
Guido Nachtigall 08.06.2005 12:00
Re: Excel-File erstellt, Prozess bleibt...
So weit bin ich nun, aber wie weise ich dem Objekt einen vorhanden Process zu - ich habe mich schon zutode gegoogelt....<br><br> Dim ProcVorhanden As Boolean = False<br> Dim PC As...
Thomas Grupp 08.06.2005 14:20
Re: Excel-File erstellt, Prozess bleibt im Taskmanager...
Du solltest die Objekte trotzdem mal auf Nothing setzen
Guido Nachtigall 08.06.2005 11:19
Re: Excel-File erstellt, Prozess bleibt im Taskmanager...
ohne natürlich nicht das<br><br>xlMappe.Save<br>xlMappe.Close<br>xlApp.Quit<br><br>vergessen
Guido Nachtigall 08.06.2005 11:23

Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!

 Betreff:
 Nachricht: Den Beitrag finden Sie nun unter: http://beta.devtrain.de/foren Die Benutzerdaten und Foreninhalte von beta.devtrain.de und www.devtrain.de sind die selben.
Sie können sich dort sogar per RSS über neue Inhalte informieren lassen.
Bei Problemen bitte direkt Mail an asp [AT] ppedv.de.

 Signatur:

  



Login
Username:


Passwort:






Passwort vergessen?

Building und Connecting Know-how

© Copyright 2003 ppedv AG