ASP et Excel sont combinés pour générer le code des tableaux de données et des graphiques. Les amis dans le besoin peuvent s'y référer. Table des matières
1. Configuration de l'environnement
2. Opérations de base d'ASP sur Excel
3. ASP utilise Excel pour générer des tableaux de données
4. ASP utilise Excel pour générer des graphiques
5. Solutions de navigation, de téléchargement et de suppression de fichiers Excel côté serveur
6. Annexe
texte
1. Configuration de l'environnement
Concernant la configuration de l'environnement côté serveur, à en juger par les documents de référence, toutes les configurations de la série Microsoft devraient convenir, à savoir :
1. Win9x+PWS+Bureau
2. Win2000 Professionnel+PWS+Office
3. Serveur Win2000+IIS+Office
À l'heure actuelle, l'environnement dans lequel l'auteur a testé avec succès est celui des deux derniers. Il n'y a pas d'exigences particulières pour la version Office. Compte tenu de l'incertitude de la configuration du client et de la faible compatibilité, il est recommandé que la version Office côté serveur ne soit pas trop élevée pour éviter que le client ne s'affiche correctement après le téléchargement.
Deux autres découvertes fortuites sur la configuration de l'environnement côté serveur sont :
1. La machine de développement de l'auteur était à l'origine équipée du WPS2002 de Kingsoft, mais il y avait toujours un problème avec la création d'objets Excel. Après la désinstallation de WPS2002, l'erreur a disparu.
2. L'auteur aime utiliser FrontPage lors du développement de code ASP. Il s'avère que si FrontPage est ouvert (côté serveur), la création d'objets est instable, parfois réussie et parfois infructueuse. Après une enquête approfondie, nous avons constaté que si les logiciels de la série Office sont exécutés côté serveur, il est difficile de créer avec succès des objets Excel.
Une autre chose qui doit être définie côté serveur est l'autorisation de fonctionnement du composant COM. Tapez DCOMCNFG sur la ligne de commande pour accéder à l'interface de configuration du composant COM. Sélectionnez Microsoft Excel et cliquez sur le bouton Propriétés. Sélectionnez Personnalisé pour les trois options. Lors de l'édition, ajoutez Tout le monde à toutes les autorisations. Après avoir enregistré, redémarrez le serveur.
Il n'y a rien de spécial dans la configuration de l'environnement du client. Tant qu'Office et IE sont installés, toute version universelle semble convenir.
2. Opérations de base d'ASP sur Excel
1. Créer un objet Excel
définir objExcelApp = CreateObject (Excel.Application)
objExcelApp.DisplayAlerts = false n'affiche pas les avertissements
objExcelApp.Application.Visible = false n'affiche pas l'interface
2. Créez un nouveau fichier Excel
objExcelApp.WorkBooks.add
définir objExcelBook = objExcelApp.ActiveWorkBook
définir objExcelSheets = objExcelBook.Worksheets
définir objExcelSheet = objExcelBook.Sheets(1)
3. Lire les fichiers Excel existants
strAddr = Server.MapPath(.)
objExcelApp.WorkBooks.Open(strAddr & /Templet/Table.xls)
définir objExcelBook = objExcelApp.ActiveWorkBook
définir objExcelSheets = objExcelBook.Worksheets
définir objExcelSheet = objExcelBook.Sheets(1)
4. Enregistrez le fichier Excel sous
objExcelBook.SaveAs strAddr & /Temp/Table.xls
5. Enregistrez le fichier Excel
objExcelBook.Save (L'auteur a enregistré avec succès lors du test, mais la page a signalé une erreur.)
6. Quitter l'opération Excel
objExcelApp.Quit doit quitter
set objExcelApp = Rien
3. ASP utilise Excel pour générer des tableaux de données
1. Insérer des données dans une plage
objExcelSheet.Range(B3:k3).Value = Tableau(67, 87, 5, 9, 7, 45, 45, 54, 54, 10)
2. Insérer des données dans une cellule
objExcelSheet.Cells(3,1).Value=Internet Explorer
3. Changer la couleur du texte de la cellule
objExcelSheet.Cells(3,1).Font.Color=vbred
4. Tracez des lignes autour des cellules
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
Tracez des lignes au milieu de la zone
objExcelSheet.Range(A1:G7).Borders(7).LineStyle =1
objExcelSheet.Range(A1:G7).Borders(8).LineStyle =1
8. Définir la couleur d'arrière-plan de la cellule
objExcelSheet.Cells(3.1).Interior.colorindex=17
9. Fusionner les cellules
objExcelSheet.Range(A1:G7).Merge
10. Définir l'alignement gauche et droit
2 à gauche 3 au milieu 4 à droite
objExcelSheet.Range(A1).HorizontalAlignment = 2
11. Définissez l'alignement supérieur et inférieur
2 est centré
objExcelSheet.Range(A1)..VerticalAlignment = 2
4. ASP utilise Excel pour générer des graphiques
1. Créer un graphique
objExcelApp.Charts.Add
2. Définissez le type de graphique
objExcelApp.ActiveChart.ChartType = 97
Remarque : Graphique linéaire bidimensionnel, 4 ; diagramme circulaire bidimensionnel, 5 ; diagramme à colonnes bidimensionnel, 51 ;
3. Définissez le titre du graphique
objExcelApp.ActiveChart.HasTitle = True
objExcelApp.ActiveChart.ChartTitle.Text = Un graphique de test
4. Définir des graphiques via les données du tableau
objExcelApp.ActiveChart.SetSourceData objExcelSheet.Range(A1:k5),1
5. Définir directement les données graphiques (recommandé)
objExcelApp.ActiveChart.SeriesCollection.NewSeries
objExcelApp.ActiveChart.SeriesCollection(1).Name = =333
objExcelApp.ActiveChart.SeriesCollection(1).Values = =
6. Lier le graphique
objExcelApp.ActiveChart.Emplacement 1
7. Afficher le tableau de données
objExcelApp.ActiveChart.HasDataTable = True
8. Afficher la légende
objExcelApp.ActiveChart.DataTable.ShowLegendKey = True
5. Solutions de navigation, de téléchargement et de suppression de fichiers Excel côté serveur
Il existe de nombreuses solutions pour la navigation, notamment Location.href=, Navigate et Response.Redirect. Il est recommandé d'utiliser la méthode client car elle donne au serveur plus de temps pour générer des fichiers Excel.
La mise en œuvre du téléchargement est un peu plus gênante. C'est une meilleure solution pour télécharger des composants à partir de serveurs prêts à l'emploi sur Internet ou pour personnaliser et développer un composant vous-même. Une autre méthode consiste à utiliser le composant Excel sur le client, et le client exploite le fichier Excel côté serveur et l'enregistre sur le client. Cette méthode nécessite que le client ouvre l'autorisation d'opération du contrôle ActiveX non sécurisé. Compte tenu de la difficulté de notifier à chaque client de définir le serveur comme site de confiance, il est recommandé d'utiliser la première méthode pour éviter les problèmes.
Le plan de suppression se compose de trois parties :
R : Les fichiers Excel générés par le même utilisateur utilisent le même nom de fichier. Le nom de fichier peut être composé d'un numéro d'identification utilisateur ou d'un numéro d'identification de session qui garantit la non-duplication des chaînes. De cette façon, le nouveau fichier écrasera automatiquement le fichier précédent lors de sa génération.
B : Lorsque l'événement Session_onEnd est défini pour se déclencher dans le fichier Global.asa, supprimez le fichier temporaire Excel de cet utilisateur.
C : Lorsque l'événement Application_onStart est défini pour se déclencher dans le fichier Global.asa, supprimez tous les fichiers du répertoire temporaire.
Remarque : structure de répertoire recommandée/répertoire de code Src/répertoire de modèle de modèle/répertoire de stockage temporaire Temp
6. Annexe
Le processus mort d’Excel lorsqu’une erreur survient est un casse-tête. L'ajout d'On Error Resume Next avant chaque fichier contribuera à améliorer cette situation, car il persistera lors de l'exécution de Application.Quit, que le fichier génère ou non une erreur, garantissant qu'aucun processus mort n'est laissé après chaque exécution de programme.
Deux points supplémentaires :
1. D'autres opérations Excel spécifiques peuvent être résolues en enregistrant des macros.
2. L'ouverture de SQL Enterprise Manager côté serveur entraînera également des problèmes.
Copiez le code comme suit :
<%
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(Semaine1,Semaine2,Semaine3,Semaine4,Semaine5,Semaine6,Semaine7,
Semaine8, Semaine9, Semaine10)
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=
Journal des visiteurs pour chaque semaine affiché dans le pourcentage des navigateurs
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=Rien
%>
<!DOCTYPEHTMLPUBLIC-//W3C//DTDHTML4.0Transitional//EN>
<HTML>
<TÊTE>
<TITLE>NouveauDocument</TITLE>
<METANAME=GeneratorCONTENT=MicrosoftFrontPage5.0>
<METANAME=AuteurCONTENT=>
<METANAME=KeywordsCONTENT=>
<METANAME=DescriptionCONTENT=>
</HEAD>
<CORPS>
</CORPS>
</HTML>