Datenbank zur Weiterbearbeitung in Excel bereitstellen
Geschrieben von: Hubert Daubmeier Hier nun wie versprochen der Folgeartikel zu Excel Dateien ohne Excel anzeigen, der beschreibt, wie Sie eine vorhandene Daten[bank]ausgabe in eine Exceldatei ausgeben, sodaß der Besucher Ihrer Seiten die Daten weiterverarbeiten kann. Schnell und easyZunächst als Anmerkung: es gibt eine recht simple und schnelle Methode Daten von einer Webseite in Excel weiterzuverwenden. In Excel 2000 finden Sie unter DATEN - EXTERNE DATEN - NEUE WEBABFRAGE den folgenden Dialog. Dort die Zieladresse eingeben, oder über die Schaltfläche "Web durchsuchen" die gewünschte Seite suchen. Die weiteren Option sind weitestgehend selbsterklärend. Auf jeden Fall erhalten Sie in kürzester Zeit Daten zur Weiterbearbeitung in Excel. Zur späteren Aktualisierung positionieren Sie den Zellzeiger auf eine beliebige Zelle des Ausgabebereichs und wählen DATEN -DATEN AKTUALISIEREN. Alternativ können Sie beim Erstellen der Abfrage angeben, ob und in welchen Intervallen aktualisiert werden soll. Eine ganze Palette weiterer Möglichkeiten und Feineinstellungen finden Sie bei vorhandenen Abfrageergebnissen in den Dialogen DATEN - EXTERNE DATEN - ABGRAGE BEARBEITEN und DATEN - EXTERNE DATEN - DATENBEREICH EIGENSCHAFTEN. Diese Optionen werden erst dann aktiv, wenn Sie bereits eine Abfrage durchgeführt haben und der Zellzeiger auf einer Zelle des Ausgabebereichs steht. Aktuell, dynamischSo nun aber zur dynamischen Bereitstellung einer Excel-Datei. Zur Verdeutlichung verwende ich das bekannte Beispiel aus Artikel "Excel Dateien ohne Excel anzeigen"{Link}. Ebenso wird die bereits bekannte Include-Datei readdb.asp verwendet. Für Ihre spätere Anwendung verwenden Sie zur Ausgabe natürlich Ihre Datenbank in einem beliebigen anderen Format. Um es kurz zu machen, der ganze Trick liegt in der Angabe eines neuen ContentTypes in Zeile 2. Wie gehabt, konzentrieren Sie sich auf Ihr Design und übernehmen Sie nur die relevanten Zeilen 2 und 3 sowie an passender Stelle den Aufruf der Unterroutine READDB.
<%@ LANGUAGE = VBScript %> <% Response.ContentType = "application/x-msexcel" %> <!-- #include file="include/readdb.asp" --> <html> <head> <title>Datenbank als Exceldatei ausgegeben</title> <link rel="stylesheet" type="text/css" href="Include/stylesheet.css"> </head> <body> <b>Datenbank als Exceldatei ausgegeben<br> <hr size="1" color="#000000"> <% call Readdb %> </body> </html> Der Output sieht wie folgt aus (wenn man Open statt Save gewählt hat): Download oder wie?Beim ersten Testen werden Sie feststellen, dass Sie die Anfrage erhalten "Datei downladen". Dies ist durchaus korrekt. Standardmäßig überträgt der Server - unsichtbar im Hintergrund - immer einen ContentType. Der ist in aller Regel mit dem Inhalt "text/html" gefüllt, was der Browser als normal anzuzeigende Seite interpretiert und das naheliegende tut: die Seite anzeigen. In unserem Fall kommt nun ein neuer ContentType "daher", den der Browser richtigerweise als Downloaddatei interpretiert und den Inhalt an die dazu passende Applikation übergibt (sofern der Benutzer dies erlaubt). Beim Internet Explorer wird diese Exceldatei je nach Einstellung im Browserfenster (Standard) oder als separate Datei in Excel angezeigt. Der Navigator lädt sie immer in ein eigenes Excelfenster. Renn Rudi, rennBei firmenintern Einsatz bietet sich ein weiterer Ansatz der in der täglichen Praxis durchaus seine Berechtigung hat, weil er für die Anwender pfeilschnell ist und gleichzeitig maximale Flexibilität bietet: Anzeige von Datenbankdaten in den Microsoft Office Web Components (OWC). Zum Beispiel im Finanzbereich werden oft täglich Daten gesichtet, die oft keine weitere Bearbeitung benötigen. Die OWCs bieten flexible Anzeigefunktionen (siehe Screenshot), schnelles Filtern und Sortieren, und ermöglichen einfache Bearbeitungsschritte. Wird mehr Funktionalität benötigt, können die Daten in Excel übernommen werden (siehe Excel-Schaltfläche). Als Voraussetzung muss bei den Anwendern Office 2000 installiert sein und die Ausführung von ActiveX Controls im Intranet erlaubt sein. Ich will hier nicht über Sinn oder Unsinn des Einsatzes von ActiveX im Web diskutieren. Der Gedanke dahinter ist durch überwiegend unqualifizierte Beiträge nie recht verstanden worden. Falls Sie sich selbst ein Bild von der Sache machen wollen, finden Sie ein Beispiel das hier nicht weiter beschrieben ist, im Download. SchlußbemerkungEs würde mich freuen, wenn Sie das eine oder andere der hier gezeigten Beispiel aufgreifen und nutzbringend einsetzen können. Ich erlebe in meiner betrieblichen Praxis immer wieder über welch unbegreifliche Umwege manche Anwender an das an und für sich einfache Ziel kommen. Daß die dabei vertane Zeit besser genutzt werden könnte, dazu will dieser Artikel beitragen. Download des CodesKlicken Sie hier, um den Download zu starten. Verwandte Artikel
CSVs aus MDBs leicht gemacht Wenn Sie jetzt Fragen haben...Wenn Sie Fragen rund um die in diesem Artikel vorgestellte Technologie haben, dann schauen Sie einfach bei uns in den Community Foren der deutschen .NET Community vorbei. Die Teilnehmer helfen Ihnen gerne, wenn Sie sich zur im Artikel vorgestellten Technologie weiterbilden möchten. Haben Sie Fragen die sich direkt auf den Inhalt des Artikels beziehen, dann schreiben Sie dem Autor! Unsere Autoren freuen sich über Feedback zu ihren Artikeln. Ein einfacher Klick auf die Autor kontaktieren Schaltfläche (weiter unten) und schon haben Sie ein für diesen Artikel personalisiertes Anfrageformular.
Und zu guter Letzt möchten wir Sie bitten, den Artikel zu bewerten. Damit helfen Sie uns, die Qualität der Artikel zu verbessern - und anderen Lesern bei der Auswahl der Artikel, die sie lesen sollten.
©2000-2006 AspHeute.com |