ASP und Excel werden kombiniert, um den Code für Datentabellen und Diagramme zu generieren. Freunde in Not können darauf zurückgreifen. Inhaltsverzeichnis
1. Umgebungskonfiguration
2. Grundlegende Operationen von ASP in Excel
3. ASP betreibt Excel, um Datentabellen zu generieren
4. ASP betreibt Excel, um Diagramme zu erstellen
5. Serverseitige Lösungen zum Durchsuchen, Herunterladen und Löschen von Excel-Dateien
6. Anhang
Text
1. Umgebungskonfiguration
Was die serverseitige Umgebungskonfiguration betrifft, sollten nach den Referenzmaterialien alle Konfigurationen der Microsoft-Serie in Ordnung sein, nämlich:
1. Win9x+PWS+Office
2. Win2000 Professional+PWS+Office
3. Win2000 Server+IIS+Office
Derzeit sind die beiden letztgenannten Umgebungen die Umgebungen, in denen der Autor erfolgreich getestet hat. Für die Office-Version gelten keine besonderen Anforderungen. Angesichts der Unsicherheit der Client-Konfiguration und der geringen Kompatibilität wird empfohlen, die serverseitige Office-Version nicht zu hoch zu verwenden, um zu verhindern, dass der Client nach dem Download nicht korrekt angezeigt wird.
Zwei weitere zufällige Entdeckungen zur serverseitigen Umgebungskonfiguration sind:
1. Der Entwicklungscomputer des Autors war ursprünglich mit WPS2002 von Kingsoft ausgestattet, es gab jedoch immer ein Problem bei der Erstellung von Excel-Objekten. Nach der Deinstallation von WPS2002 verschwand der Fehler.
2. Der Autor verwendet bei der Entwicklung von ASP-Code gerne FrontPage. Es stellt sich heraus, dass die Objekterstellung beim Öffnen von FrontPage (serverseitig) instabil ist, manchmal erfolgreich und manchmal erfolglos. Nach umfangreichen Untersuchungen haben wir festgestellt, dass es schwierig ist, Excel-Objekte erfolgreich zu erstellen, wenn die Software der Office-Serie auf der Serverseite ausgeführt wird.
Eine weitere Sache, die serverseitig festgelegt werden muss, ist die Betriebsberechtigung der COM-Komponente. Geben Sie DCOMCNFG in die Befehlszeile ein, um die COM-Komponenten-Konfigurationsoberfläche aufzurufen, und klicken Sie auf die Schaltfläche „Benutzerdefiniert“ für alle drei Optionen. Fügen Sie „Jeder“ zu allen Berechtigungen hinzu. Starten Sie nach dem Speichern den Server neu.
An der Umgebungskonfiguration des Clients gibt es nichts Besonderes. Solange Office und IE installiert sind, scheint jede Universalversion in Ordnung zu sein.
2. Grundlegende Operationen von ASP in Excel
1. Excel-Objekt erstellen
set objExcelApp = CreateObject(Excel.Application)
objExcelApp.DisplayAlerts = false zeigt keine Warnungen an
objExcelApp.Application.Visible = false zeigt die Schnittstelle nicht an
2. Erstellen Sie eine neue Excel-Datei
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
3. Vorhandene Excel-Dateien lesen
strAddr = Server.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr & /Templet/Table.xls)
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet = objExcelBook.Sheets(1)
4. Excel-Datei speichern unter
objExcelBook.SaveAs strAddr & /Temp/Table.xls
5. Speichern Sie die Excel-Datei
objExcelBook.Save (Der Autor hat beim Testen erfolgreich gespeichert, aber die Seite hat einen Fehler gemeldet.)
6. Beenden Sie den Excel-Vorgang
objExcelApp.Quit muss beendet werden
set objExcelApp = Nichts
3. ASP betreibt Excel, um Datentabellen zu generieren
1. Daten in einen Bereich einfügen
objExcelSheet.Range(B3:k3).Value = Array(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. Fügen Sie Daten in eine Zelle ein
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. Ändern Sie die Textfarbe der Zelle
objExcelSheet.Cells(3,1).Font.Color=vbred
4. Zeichnen Sie Linien um die Zellen
objExcelSheet.Cells(3.1).Borders(1).LineStyle =1
objExcelSheet.Cells(3.1).Borders(2).LineStyle =1
objExcelSheet.Cells(3.1).Borders(3).LineStyle =1
objExcelSheet.Cells(3.1).Borders(4).LineStyle =1
Zeichnen Sie Linien in die Mitte der Fläche
objExcelSheet.Range(A1:G7).Borders(7).LineStyle =1
objExcelSheet.Range(A1:G7).Borders(8).LineStyle =1
8. Legen Sie die Hintergrundfarbe der Zelle fest
objExcelSheet.Cells(3.1).Interior.colorindex=17
9. Zellen zusammenführen
objExcelSheet.Range(A1:G7).Merge
10. Stellen Sie die linke und rechte Ausrichtung ein
2 links, 3 in der Mitte, 4 rechts
objExcelSheet.Range(A1).HorizontalAlignment = 2
11. Legen Sie die obere und untere Ausrichtung fest
2 ist zentriert
objExcelSheet.Range(A1)..VerticalAlignment = 2
4. ASP betreibt Excel, um Diagramme zu erstellen
1. Erstellen Sie ein Diagrammdiagramm
objExcelApp.Charts.Add
2. Legen Sie den Diagrammtyp fest
objExcelApp.ActiveChart.ChartType = 97
Hinweis: Zweidimensionales Liniendiagramm, 4; zweidimensionales Kreisdiagramm, 51
3. Legen Sie den Diagrammtitel fest
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = Ein Testdiagramm
4. Stellen Sie Grafiken über Tabellendaten ein
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5. Grafikdaten direkt einstellen (empfohlen)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = =333
objExcelApp.ActiveChart.SeriesCollection(1).Values = =
6. Diagramm binden
objExcelApp.ActiveChart.Location 1
7. Datentabelle anzeigen
objExcelApp.ActiveChart.HasDataTable = True
8. Legende anzeigen
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
5. Serverseitige Lösungen zum Durchsuchen, Herunterladen und Löschen von Excel-Dateien
Es gibt viele Lösungen zum Durchsuchen, einschließlich Location.href=, Navigate und Response.Redirect. Es wird empfohlen, die Client-Methode zu verwenden, da sie dem Server mehr Zeit zum Generieren von Excel-Dateien gibt.
Die Umsetzung des Downloads gestaltet sich etwas aufwändiger. Eine bessere Lösung ist es, Komponenten von vorgefertigten Servern im Internet herunterzuladen oder eine Komponente selbst anzupassen und zu entwickeln. Eine andere Methode besteht darin, die Excel-Komponente auf dem Client zu betreiben, und der Client betreibt die serverseitige Excel-Datei und speichert sie auf dem Client. Bei dieser Methode muss der Client die Betriebsberechtigung des unsicheren ActiveX-Steuerelements öffnen. Angesichts der Schwierigkeit, jeden Kunden zu benachrichtigen, den Server als vertrauenswürdige Site festzulegen, wird empfohlen, die erste Methode zu verwenden, um Ärger zu vermeiden.
Der Löschplan besteht aus drei Teilen:
A: Von demselben Benutzer erstellte Excel-Dateien verwenden denselben Dateinamen. Der Dateiname kann aus einer Benutzer-ID-Nummer oder einer Sitzungs-ID-Nummer bestehen, um sicherzustellen, dass Zeichenfolgen nicht dupliziert werden. Auf diese Weise überschreibt die neue Datei automatisch die vorherige Datei, wenn sie generiert wird.
B: Wenn das Session_onEnd-Ereignis in der Datei Global.asa zum Auslösen festgelegt ist, löschen Sie die temporäre Excel-Datei dieses Benutzers.
C: Wenn das Application_onStart-Ereignis in der Datei Global.asa zum Auslösen festgelegt ist, löschen Sie alle Dateien im temporären Verzeichnis.
Hinweis: Empfohlene Verzeichnisstruktur/Quellcode-Verzeichnis/Templet-Vorlagenverzeichnis/Temporäres Speicherverzeichnis
6. Anhang
Der tote Prozess von Excel, wenn ein Fehler auftritt, bereitet Kopfschmerzen. Das Hinzufügen von „On Error Resume Next“ vor jeder Datei trägt zur Verbesserung dieser Situation bei, da Application.Quit weiterhin ausgeführt wird, unabhängig davon, ob die Datei einen Fehler generiert, wodurch sichergestellt wird, dass nach jeder Programmausführung kein toter Prozess übrig bleibt.
Zwei zusätzliche Punkte:
1. Andere spezifische Excel-Vorgänge können durch Aufzeichnen von Makros gelöst werden.
2. Das Öffnen des SQL Enterprise Managers auf der Serverseite führt ebenfalls zu Problemen.
Kopieren Sie den Codecode wie folgt:
<%
OnErrorResumeNextstrAddr=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(Week1,Week2,Week3,Week4,Week5,Week6,Week7,
Woche8, Woche9, Woche10)
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=OtherobjExcelSheet.Range(b2:k5).Select
objExcelApp.Charts.Add
objExcelApp.ActiveChart.ChartType=97
objExcelApp.ActiveChart.BarShape=3
objExcelApp.ActiveChart.HasTitle=True
objExcelApp.ActiveChart.ChartTitle.Text=
Besucherprotokoll für jede im Browser angezeigte Woche in Prozent
objExcelApp.ActiveChart.SetSourceDataobjExcelSheet.Range(A1:k5),1
objExcelApp.ActiveChart.Location1
'objExcelApp.ActiveChart.HasDataTable=True
'objExcelApp.ActiveChart.DataTable.ShowLegendKey=TrueobjExcelBook.
SaveAsstrAddr&/Temp/Excel.xlsobjExcelApp.Quit
setobjExcelApp=Nichts
%>
<!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0Transitional//EN>
<HTML>
<KOPF>
<TITLE>NeuesDokument</TITLE>
<METANAME=GeneratorCONTENT=MicrosoftFrontPage5.0>
<METANAME=AuthorCONTENT=>
<METANAME=KeywordsCONTENT=>
<METANAME=DescriptionCONTENT=>
</HEAD>
<KÖRPER>
</BODY>
</HTML>