ASP bzw. VBScript

Von: , Frage gestellt am Mo, 3. Jan 2005

Hallo,

ich habe hier eine SQL-Datenbank (u.a. steht darin der Vorname, Nachname und Abteilung). Mit Hilfe von ASP oder VBScript möchte ich die Daten der SQL-DB in eine Excel-Datei exportieren. Das ganze soll sehr benutzerfreundlich gestaltet werden, d. h. der Benuzer klickt beispielsweise auf den Button "Export" und eine neue Excel-Datei wird geöffnet und der Benutzer muss nur noch eingeben, wo die Datei gespeichert werden soll. Auf dem Server selbst ist kein Excel. d. h. die Daten werden nur vom Server geholt und der Rest muss auf der Client-Seite passieren.
Ich bin Anfänger bei ASP und VBScript, daher habe ich keine Idee, wo der Fehler sein könnte
Das habe ich bis jetzt, aber irgendwo sind noch Fehler:

<head>
<title>Excel</title>
<!-- Erstellen der Datenbankanbindungen -->
<object RUNAT="Server" id="Con" PROGID="ADODB.Connection" VIEWASTEXT></object>
<object RUNAT="Server" id="Rec" PROGID="ADODB.Recordset" VIEWASTEXT></object>
<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
<%
'DB öffnen
con.Open "inventar", "Inventar", "Inventar"
'gewünschte Datensätze auswählen
SQL = "SELECT * FROM [view_for_lizenz]"
' ? öffnen
rec.open sql, Con

%>
<script Language=VBScript>
<!--
'Variablen deklarieren
'Anwendung erstellen
dim xl As Excel.Application
'Arbeitsmappe
dim wbs As workbooks
'Arbeitsblatt
dim wb As workbook
' ?
dim objXL
'dim xlBook
'dim xlSheet

'Variablen Werte zuweisen
Set FSO = Nothing
Set xl = Nothing
xl.WindowState = xlNormal
Set wbs = xl.Workbooks
Set wb = wbs.add()
Set wbs = xl.Workbooks.Open("C:\lizenz\Mappe.xls")
'Set xlSheet = xlBook.Worksheets(1)


xl.Visible = TRUE
xl.WorkBooks.Open(pfad)
xl.Cells(1, 1).Value = "Vorname"
xl.Cells(1, 2).Value = "Nachname"
xl.Cells(1, 3).Value = "Abteilung"

<%
i=3

While Not rec.EOF
response.write " xl.Cells(" & i & ", 1).Value =" & i & vbCrLF
response.write " xl.Cells(" & i & ", 2).Value =""" & Trim(rec("vorname")) & """" & vbCrLF
response.write " xl.Cells(" & i & ", 3).Value =""" & Trim(rec("nachname")) & """" & vbCrLF
response.write " xl.Cells(" & i & ", 4).Value =""" & Trim(rec("abteilung")) & """" & vbCrLF
i=i+1
rec.MoveNext
Wend
'speichern
'xl.SaveAs "C:\lizenz\Mappe.xls"
'Anwendung beenden
'xl.Application.Quit

'Alles schließen
rec.Close
con.close
%>
Set objXL = Nothing
end function
-->
</script>

Ich hoffe, ich habe das richtige Brett erwischt und mich einigermaßen verständlich ausgedrückt. Vielen Dank im Voraus und allen ein frohes und gesundes neues Jahr.

MfG Claudia

13 Antworten zu dieser Frage

  1. Antwort von nach einem Tag 0 hilfreich
    Re: ASP bzw. VBScript

    kann jetzt keine unmittelbare hilfe anbieten, hab aber eine kleine frage: wozu machst du dir die mühe, das ganze über excel zu speichern? du bringst ja ohnehin keine formatierungen an. speicher das ganze einfach als simple text-datei (tab-separiert) und gib der datei die endung xls. beim doppelklick darauf wird die datei automatisch von excel geöffnet. excel ist zum glück schlau genug, um das tab-separierte format zu erkennen und automatisch zu importieren. das ergebnis ist damit das selbe, nur ungleich einfacher, schneller und leichter wartbar (z.b. bei neuer excel-version oder vielleicht auch open-office...).

    erwin

    • Antwort von nach 2 Tagen 0 hilfreich
      Re^2: ASP bzw. VBScript

      kann jetzt keine unmittelbare hilfe anbieten, hab aber eine
      kleine frage: wozu machst du dir die mühe, das ganze über
      excel zu speichern?
      Weil auch ein Nutzer damit umgehen soll, der keine Ahnung von PC's hat. Für den normalen Nutzer ist das Speichern in einer Text-Datei und umbenennen zu umständlich. du bringst ja ohnehin keine formatierungen
      Die kann man immer noch hinzufügen, wenn das eigentliche Exportieren funktioniert. an. speicher das ganze einfach als simple text-datei
      (tab-separiert) und gib der datei die endung xls. beim
      doppelklick darauf wird die datei automatisch von excel
      geöffnet.
      Wie mach ich das genau? excel ist zum glück schlau genug, um das
      tab-separierte format zu erkennen und automatisch zu
      importieren. das ergebnis ist damit das selbe, nur ungleich
      einfacher, schneller und leichter wartbar (z.b. bei neuer
      excel-version oder vielleicht auch open-office...).
      Deinen Vorschlag würde ich gern ausprobieren. Wäre schön, wenn du mir sagen könntest, wie ich das genau bewerkstelligen kann. Ich kenn mich mit ASP und VBScript nicht so gut aus.

      Danke im Voraus

      Gruß

      Claudia

      • Antwort von nach 5 Tagen 0 hilfreich
        Re^3: ASP bzw. VBScript

        beispiel:

        Dim fso As New FileSystemObject
        Dim tf As TextStream

        Set tf = fso.OpenTextFile("c:\temp\test.xls", ForWriting, True)
        tf.Write "eins"
        tf.Write vbTab
        tf.Write "zwei"
        tf.Write vbTab
        tf.WriteLine "drei"

        tf.Write "alpha"
        tf.Write vbTab
        tf.Write "beta"
        tf.Write vbTab
        tf.WriteLine "gamma"

        tf.Close




        viel einfacher gehts ja wohl nicht mehr...

        die datei sollte anstandslos von excel geöffnet und weiterbearbeitet werden können. lediglich beim speichern kommt eine blöde meldung, von wegen, ob das format angepasst werden soll. einfach mit ja bestätigen.

        erwin

        • Antwort von nach 6 Tagen 0 hilfreich
          Re^4: ASP bzw. VBScript

          Danke, ich hab nur noch ein kleines Problem
          Es kommt eine Fehlermeldung:

          Es ist ein Laufzeitfehler aufgetreten.
          Soll der Dubugmodus gestartet werden?
          Fehler wahrscheinlich in folgender Zeile: Dim fso As New FileSystemObject
          Zeile 11:
          Anweisungsende erwartet.

          Woran könnte das liegen?

          Gruß

          Claudia

          • Antwort von nach 6 Tagen 0 hilfreich
            Re^5: ASP bzw. VBScript

            Danke, ich hab nur noch ein kleines Problem

            Es kommt eine Fehlermeldung:

            Es ist ein Laufzeitfehler aufgetreten.
            Soll der Dubugmodus gestartet werden?
            Diese Fehlermeldung ist behoben, es passiert jetzt gar nichts mehr.

            Ich hab den Quelltext in eine leere ASP-Seite kopiert. und als VBScript deklariert.

            Der PC zeigt mir also beim Anwählen der Option Export die leere Seite an. Mehr passiert leider nicht. Muss ich noch etwas zum Quelltext hinzufügen, oder reicht der?

            Gruß

            Claudia

            • Antwort von nach 6 Tagen 0 hilfreich
              Re^6: ASP bzw. VBScript

              Danke, ich hab nur noch ein kleines Problem

              Es kommt eine Fehlermeldung:

              Es ist ein Laufzeitfehler aufgetreten.
              Soll der Dubugmodus gestartet werden?
              Diese Fehlermeldung ist behoben, es passiert jetzt gar nichts
              mehr.
              Na Wahnsinn :-) Ich hab den Quelltext in eine leere ASP-Seite kopiert. und als
              VBScript deklariert.
              An die "<%%>" hast du hoffentlich gedacht?! Der PC zeigt mir also beim Anwählen der Option Export die
              leere Seite an. Mehr passiert leider nicht. Muss ich noch
              etwas zum Quelltext hinzufügen, oder reicht der?
              Na was soll denn auch angezeigt werden? Erwin wollte dir nur nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS geht. Dass dieser einfach nur 1234 in ne Datei auf deiner Festplatte abgespeichert, hast du gemerkt?! Da is nix mit anzeigen... Den Rest musst du schon selbst machen :-)

              Ciao - JENS

            • Antwort von nach 6 Tagen 0 hilfreich
              Re^7: ASP bzw. VBScript

              Ich hab den Quelltext in eine leere ASP-Seite kopiert. und als
              VBScript deklariert.
              An die "<%%>" hast du hoffentlich gedacht?!
              Sicherlich, also kein VB-Script, sonder ASP? Der PC zeigt mir also beim Anwählen der Option Export die
              leere Seite an. Mehr passiert leider nicht. Muss ich noch
              etwas zum Quelltext hinzufügen, oder reicht der?
              Na was soll denn auch angezeigt werden? Erwin wollte dir nur
              nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS
              geht. Dass dieser einfach nur 1234 in ne Datei auf deiner
              Festplatte abgespeichert, hast du gemerkt?!
              Hat er eben nicht. Das ist ja das Problem. Da is nix mit
              anzeigen... Den Rest musst du schon selbst machen :-)

              Ciao - JENS
              Ich dachte, dass so, wie es Erwin beschrieben hat, eine Datei namens test.xls im Ordner C:/temp erzeugt wird. Und dass ich, wenn ich diese Datei mit Excel öffne 3 Spalten und 2 Zeilen hab und in der ersten Zeile: "eins", "zwei", "drei" und in der zweiten Zeile: "alpha", "beta", "gamma". Oder nicht? Hab ich jetzt irgendwo einen Denkfehler oder hab ich das richtig verstanden?

              MfG Claudia

            • Antwort von nach 7 Tagen 0 hilfreich
              Re^8: ASP bzw. VBScript

              Sicherlich, also kein VB-Script, sonder ASP?
              Hm, ich hab dein Projekt so verstanden, dass das alles über deinen Browser ablaufen soll, also ASP. Im Übrigen is zwischen VB und ASP kein großer Unterschied... Der PC zeigt mir also beim Anwählen der Option Export die
              leere Seite an. Mehr passiert leider nicht. Muss ich noch
              etwas zum Quelltext hinzufügen, oder reicht der?
              Na was soll denn auch angezeigt werden? Erwin wollte dir nur
              nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS
              geht. Dass dieser einfach nur 1234 in ne Datei auf deiner
              Festplatte abgespeichert, hast du gemerkt?!
              Hat er eben nicht. Das ist ja das Problem. Da is nix mit
              anzeigen... Den Rest musst du schon selbst machen :-)

              Ciao - JENS
              Ich dachte, dass so, wie es Erwin beschrieben hat, eine Datei
              namens test.xls im Ordner C:/temp erzeugt wird. Und dass ich,
              wenn ich diese Datei mit Excel öffne 3 Spalten und 2 Zeilen
              hab und in der ersten Zeile: "eins", "zwei", "drei" und in der
              zweiten Zeile: "alpha", "beta", "gamma". Oder nicht? Hab ich
              jetzt irgendwo einen Denkfehler oder hab ich das richtig
              verstanden?

              MfG Claudia
              Nee, hast du schon richtig verstanden, das meinte ich mit 1234. Wollte nur ausdrücken, dass es net die fertige Lösung für deine Aufgabe is... :-)

              Ciao - JENS

            • Antwort von nach 7 Tagen 0 hilfreich
              Re^9: ASP bzw. VBScript

              Sicherlich, also kein VB-Script, sonder ASP?
              Hm, ich hab dein Projekt so verstanden, dass das alles über
              deinen Browser ablaufen soll, also ASP. Im Übrigen is zwischen
              VB und ASP kein großer Unterschied...
              Hast du richtig verstanden. der Nutzer klickt sozusagen auf den "Export-Button" und dann soll das Programm eine Excel-Datei erstellen.
              Ich kenn mich mit beiden gleichwenig, bzw. gar nicht aus. Der PC zeigt mir also beim Anwählen der Option Export die
              leere Seite an. Mehr passiert leider nicht. Muss ich noch
              etwas zum Quelltext hinzufügen, oder reicht der?
              Na was soll denn auch angezeigt werden? Erwin wollte dir nur
              nen Denkanstoß geben, um dir zu zeigen wie das mit den TABS
              geht. Dass dieser einfach nur 1234 in ne Datei auf deiner
              Festplatte abgespeichert, hast du gemerkt?!
              Hat er eben nicht. Das ist ja das Problem. Da is nix mit
              anzeigen... Den Rest musst du schon selbst machen :-)

              Ciao - JENS
              Ich dachte, dass so, wie es Erwin beschrieben hat, eine Datei
              namens test.xls im Ordner C:/temp erzeugt wird. Und dass ich,
              wenn ich diese Datei mit Excel öffne 3 Spalten und 2 Zeilen
              hab und in der ersten Zeile: "eins", "zwei", "drei" und in der
              zweiten Zeile: "alpha", "beta", "gamma". Oder nicht? Hab ich
              jetzt irgendwo einen Denkfehler oder hab ich das richtig
              verstanden?

              MfG Claudia
              Nee, hast du schon richtig verstanden, das meinte ich mit
              1234. Wollte nur ausdrücken, dass es net die fertige Lösung
              für deine Aufgabe is... :-)

              Ciao - JENS
              OK, aber wie ich das bewerkstellige oder woran es liegt, dass er die Datei nicht erstellt, weißt du nicht zufällig?

              Gruß

              Claudia



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!