Ein Excel oder Word Dokument im Browser anzeigen? Content dynamisch per VB.NET / C# oder statischem HTML Code generieren? Nichts einfacher als das. Ohne großen Aufwand ist es möglich Word oder Excel Dateien im Browser zum laufen zu bringen oder als *.doc bzw. *.xls Dateien zu downloaden.
Word im Browser:
Excel im Browser:
Um eine entsprechende Ausgabe wie oben zu bekommen, ändert man die ASPX Dateien wie folgt ab:
Word:
<html> <body> Dies ist ein Testtext.<br> <b>Sogar mit Fettschrift!</b> </body> </html> |
Excel:
<html> <body> <form id="Form1" runat="server"> <table> <tr> <td><b>Wert 1</b></td> <td><b>Wert 2</b></td> <td><b>Ergebnis</b></td> </tr> <tr> <td>4</td> <td>9</td> <td>= (A2*B2)</td> </tr> <tr> <td>14</td> <td>4</td> <td>= (B2*B3)</td> </tr> <tr> <td>22</td> <td>8</td> <td>= (C2*C3)</td> </tr> </table> </form> </body> </html>
|
Im Codebehind muss man jetzt nur noch dafür sorgen dass der richtige HTTP-MIME-Type des Ausgabestreams an den Client gesendet wird.
Word:
Private Sub Page_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles MyBase.Load
Response.Clear() Response.ContentType = _ "application/word"
Response.AddHeader("Content-Disposition", _ "inline;filename=WebWord.doc")
End Sub |
Excel:
Private Sub Page_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs _ ) Handles MyBase.Load
Response.Clear() Response.ContentType = _ "application/vnd.ms-excel"
Response.AddHeader("Content-Disposition", _ "inline;filename=WebExcel.xls")
End Sub |
Mit dem Befehl Response.AddHeader() legt man fest dass das Dokument im Browser ausgeführt werden soll. Über Filename kann man bestimmen wie die Datei heißen soll wenn der Client das Dokument speichert.