Posts
391
Comments
127
Trackbacks
0
May 2009 Entries
Eine DataTable mit Aspose Cells exportieren

Hier ein Beispiel wie man eine DataTable mit Aspose.Cells exportieren kann:

Public Class CellsExport

 

    Public Sub New(ByVal dt As DataTable, ByVal name As String)

 

        'Excel-Workbook erzeugen

        Dim workbook As Workbook = New Workbook()

        workbook.Worksheets.Add()

        Dim worksheet As Worksheet = workbook.Worksheets(0)

        worksheet.Cells.ImportDataTable(dt, True, "A1")

 

        'Exceldatei ausgeben

        Dim ms As MemoryStream = workbook.SaveToStream()

        Dim bytes As Byte()

        bytes = ms.ToArray()

 

        HttpContext.Current.Response.Clear()

        HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"

        HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=ExcelExport_" & name & ".xls")

        HttpContext.Current.Response.BinaryWrite(bytes)

        HttpContext.Current.Response.End()

 

    End Sub

 

End class

 

posted @ Saturday, May 30, 2009 10:43 AM | Feedback (0)
History bei Ajax-Seiten mit ASP.NET

 Im ServicePack für .NET 3.5 gibt es eine neue Funktion für die AJAX-History:

Diese speichert jeden Aufruf, der im System gemacht wurde (egal ob Ajax oder HREF) und sammelt diese. Zusätzlich werden die Browser Vor- und Zurückbuttons so übernommen, dass man damit sicher und sauber im System navigieren kann.
Selbst innerhalb von Ajaxaufrufen wird jetzt sauber zurück gesprungen, ohne das es Fehlermeldungen oder ein Neusenden von Formularen gibt.

Die Aktivierung ist denkbar einfach:

<asp:scriptmanager  id="ScriptManager1" runat="server" EnableHistory="true" enablepagemethods="true" />

http://msdn.microsoft.com/de-de/library/system.web.ui.scriptmanager.enablehistory.aspx

posted @ Tuesday, May 19, 2009 10:39 AM | Feedback (0)
Visual Studio Feintuning

Meistens macht man es sich bei der Entwicklung einfach und hat das Visual Studio so eingestellt, dass viele Exceptions einfach geschluckt und beim debuggen nicht angezeigt werden. Gerne packt man unsichere Stellen des Quellcodes  in einen Try-Catch Block und ist froh das das Programm wie erwartet (erhofft) weiterarbeitet. Später vergisst man leicht die im Try-Catch-Block aufgetretenen Fehler abzufangen und auszuwerten.

Leider verursachen Exceptions jedoch immer kleine "Systembremsen", so dass sich ein paar Exceptions pro Seite schnell auf die Performance auswirken können. Im Output sehen wir dann z.B.: "Eine Ausnahme (erste Chance) des Typs "System.InvalidCastException" ist in Microsoft.VisualBasic.dll aufgetreten" was auch auf Probleme hinweisen kann.

Daher sollte Visual Studio so eingestellt sein, dass alle Exceptions sauber geworfen werden. Dazu muss unter:

Menü: DEBUGGEN->AUSNAHMEN->Common Language Runtime Exceptions
der Haken bei System (für alle Exceptions, die im Assembly System auftreten können) von "User Unhandled" auf "thrown" geändert werden.

Das Visual Studio verschluckt nun diese Exceptions nicht mehr, sondern zeigt alle an, so dass man sauberen Quellcode entwickeln muss.

posted @ Thursday, May 14, 2009 10:45 AM | Feedback (2)