Der Hauptinhalt dieses Artikels besteht darin, ASP zu verwenden, um Excel -Dateibeispiele auszugeben.
Eine Möglichkeit, Excel in ASP zu verwenden, besteht darin, die Excel -Datei als Datenbank zu verknüpfen, und der Vorgang ähnelt dem Zugriffsdatenbankvorgang. Für ein festes Format enthält dieses Format komplexe Zellverführungen, Grenzlinienstile, Muster, Formelbeziehungen zwischen Zellen usw. Ich denke , sparen, ausgeben ...
Die hier genannte Methode besteht darin, ein Excel -Objekt direkt zu erstellen, mit dem verschiedene Vorgänge im Excel -Dokument bequemer im Hintergrund ausgeführt werden können.
Die Serverseite muss auch die Betriebsberechtigungen von COM -Komponenten festlegen. Geben Sie DCOMCNFG in die Befehlszeile ein und geben Sie die COM -Komponenten -Konfigurationsschnittstelle ein. Starten Sie den Server nach dem Speichern neu.
Es ist sehr wichtig.
Diese Methode hat auch einen Nachteil. wurden nicht richtig eingerichtet.
Darüber hinaus ist das Beispiel -Code -Format in dem oben zitierten Artikel nicht sehr vollständig, und viele der Zeilenumbrüche und Leerzeichen sind ungenau. Nachforschungen und ändern, ist es einfach, den Einstieg zu erstellen.
Programmcode:
- <%
- OnErrorresumeNext
- STRADDR = Server.Mappath (.)
- setObjexcelapp = createObject (excel.application)
- objexcelapp.displayalerts = false
- objexcelapp.application.visible = false
- objexcelapp.workbooks.open (Straddr &/templet/null.xls)
- setObjexcelbook = objexcelapp.ActiveWorkbook
- setObjexcelsheets = objexcelbook.worksheets
- setObjexcelsheet = objexcelbook.sheets (1)
- Objexcelsheet.Range (B2: K2) .Value = Array (Woche1, Woche2, Woche3, Woche4, Woche5, Woche6, Woche7)
- Objexcelsheet.Range (B3: K3) .Value = Array (67,87,5,9,7,45,45,54,54,10)
- Objexcelsheet.Range (B4: K4) .Value = Array (10,10,8,27,33,37,50,54,10,10)
- Objexcelsheet.Range (B5: K5) .Value = Array (23,3,86,64,60,18,5,1,36,80)
- objexcelsheet.cells (3,1) .Value = InternetExplorer
- objexcelsheet.cells (4,1) .Value = netscape
- objexcelsheet.cells (5,1) .Value = andere
- Objexcelsheet.Range (B2: K5) .Select
- Saveas (Straddr &/temp/excel.xls)
- objexcelapp.quit
- setObjexcelapp = nichts
- %>
- <! DocTypEHtmlPublic-// w3c // dtdhtml4.0Transitional // en>
- <html>
- <kopf>
- <title> newdocument </title>
- <Metaname = generatorContent = microsoftfrontPage5.0>
- <Metaname = AutorContent =>
- <Metaname = keywordScontent =>
- <Metaname = BeschreibungContent =>
- </Head>
- <body>
- </Body>
- </Html>
Nach dem Betrieb der Excel-Datei müssen Sie die Datei ausgeben Um direkt in IE zu öffnen, laden Sie die Excel -Datei nicht mit FSO und geben Sie sie dann in IE aus.
Programmcode:
- <%
- Dimfso, Fileext, Strfilepath, Mime
- strFilepath = f: /aspxuexi.doc
- Setfso = server.createObject (scripting.filesystemObject)
- Fileext = fso.getExtesionName (strFilepath)
- Setfso = nichts
- SelectCaseFileext
- CASEDOC
- Mime = application/msword
- Casexls
- Mime = application/msexcel
- Endauswahl
- Calloutput (Strafilepath, Mime)
- ################################################################################################################################# zuraut #####
- FunktionOutput (Strfilepath, Mime)
- Antwort.ContentType = mime
- Constadypebinary = 1
- SetObjstream = server.createObject (adodb.stream)
- objstream.open
- objstream.type = adypebinary
- Objstream.loadfromFilestripilePath
- Response.binarywriteObjstream.read
- objstream.close
- SetObjstream = nichts
- Endfunktion
- ################################################################################################################################# zuraut #####
- %>
Wenn der Server ein Excel- oder Zugriffsprogramm ausführt, gibt der Client die Einrichtung des Excel.Anwurce -Objekts ohne Erfolg ein. Die Anfrage kann auch nicht erfolgreich sein!
Es gibt verwandte Beispiele für das interne Netzwerk unserer Abteilung. Wenn Sie im lokalen Netzwerk ausgeführt werden, können Sie die Sicherheitsstufe von Kunden, IE Ermittelt), auch wenn es nicht eingestellt ist, dh ein Warnfenster: Activex lassen?
Der implementierte Code ähnelt dem vorherigen Protokoll und der einfachste ist wie folgt:
Programmcode:
- <scriptuanguage = vbscript>
- setObjexcelapp = createObject (excel.application)
- objexcelapp.displayalerts = true
- objexcelapp.workbooks.open (http://xxx.xxx.xxx/xxx.xls)
- 'Die XLS -Datei mit der vollständigen Netzwerkadresse wurde diese Datei formatiert und gedruckt und auf dem Server gespeichert
- setObjexcelbook = objexcelapp.ActiveWorkbook
- setObjexcelsheets = objexcelbook.worksheets
- setObjexcelsheet = objexcelbook.sheets (1)
- '==== Hier sind Aussagen, die Daten zu Excel -Zellen ausfüllen.
- 'Zum Beispiel: Antwort.WriteObjexcelsheet.Range (B2) .Value = & rs (xxx) &
- 'oder objexcelsheet.Range (B2) .Value = <%= Rs (xxx)%>
- Objexcelsheet.Range (B2: K2) .Value = Array (Woche1, Woche2, Woche3, Woche4, Woche5, Woche6, Woche7)
- Objexcelsheet.Range (B3: K3) .Value = Array (67,87,5,9,7,45,45,54,54,10)
- Objexcelsheet.Range (B4: K4) .Value = Array (10,10,8,27,33,37,50,54,10,10)
- Objexcelsheet.Range (B5: K5) .Value = Array (23,3,86,64,60,18,5,1,36,80)
- objexcelsheet.cells (3,1) .Value = InternetExplorer
- objexcelsheet.cells (4,1) .Value = netscape
- objexcelsheet.cells (5,1) .Value = andere
- '============================
- 'objexcelapp.quit
- 'setObjexcelapp = nichts
- </script>
Im obigen Code
- 'objexcelapp.quit
- 'setObjexcelapp = nichts
Als Stornierung schließen Sie die Excel.Application hier nicht, ansonsten wird Excel geschlossen, nachdem die Daten zu diesem Zeitpunkt gefüllt sind.
Das oben genannte ist der gesamte Prozess der Verwendung von ASP, um Excel -Dateien auszugeben.