ASP.NET composant ActiveX Ne peut pas créer
J'ai un ASP.NET application qui permet aux utilisateurs d'exporter leur personnel des absences de chaque mois à Microsoft Excel. L'application est actuellement de générer l'exception suivante
Exception: le composant ActiveX Ne peut pas créer.
avec la pile suivante trace
Système.Exception: le composant ActiveX Ne peut pas créer.
chez Microsoft.VisualBasic.L'Interaction.CreateObject(String ProgId, Chaîne ServerName)
au RH.ManagerSummary.ExportToExcel() dans H:\Development\pagec\Visual Studio 2005\Projects\RH\ysnet2\Time\ManagerSummary.aspx.vb:ligne 935
au RH.ManagerSummary.btnExcel_Click(Object sender, EventArgs e) dans H:\Development\pagec\Visual Studio 2005\Projects\RH\ysnet2\Time\ManagerSummary.aspx.vb:ligne 891
au Système.Web.L'INTERFACE utilisateur.Contrôles webcontrols.Bouton.OnClick(EventArgs e)
au Système.Web.L'INTERFACE utilisateur.Contrôles webcontrols.Bouton.RaisePostBackEvent(String eventArgument)
au Système.Web.L'INTERFACE utilisateur.Contrôles webcontrols.Bouton.Système.Web.L'INTERFACE utilisateur.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
au Système.Web.L'INTERFACE utilisateur.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, Chaîne eventArgument)
au Système.Web.L'INTERFACE utilisateur.Page.RaisePostBackEvent(NameValueCollection postData)
au Système.Web.L'INTERFACE utilisateur.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Le code échoue à la ligne CreateObject.
'Create the Excel object
Dim objXL As Object = CreateObject("Excel.Application") ' New Microsoft.Office.Interop.Excel.Application
Dim objWB As Object = objXL.Workbooks.Add
Dim objWS As Object = objWB.Worksheets(1)
J'ai mis la permission de configuration DCOM pour l'Application Microsoft Excel pour le compte IUSR_ mais cela n'a pas résolu le problème. Toutes les idées serait très apprécié.
Acclamations
James
OriginalL'auteur winsql | 2009-12-04
Vous devez vous connecter pour publier un commentaire.
Suite à la migration de nos ASP.NET les applications vers un nouveau matériel, j'ai étudié ce problème et trouvé une solution.
Pour résoudre le problème, ouvrez une Composante "Services" à partir d'Outils d'Administration et de naviguer comme suit:
L'ASP.NET l'application peut maintenant créer une feuille de calcul Microsoft Excel contenant les données exportées.
OriginalL'auteur winsql
Avez-vous enregistré l'ActiveX sur le serveur?
http://support.microsoft.com/kb/146219
OriginalL'auteur rjlopes
SpreadsheetGear pour .NET vous permettra d'enregistrer aux formats xls et xlsx classeurs directement à un flux de réponse avec IWorkbook.SaveToStream. C'est en toute sécurité gérés code C# donc il n'est pas nécessaire d'exécuter quoi que ce soit en tant qu'admin et vous n'aurez pas de problèmes que Excel COM Interop apporter sur une ASP.NET serveur.
Vous pouvez voir quelques simples ASP.NET Excel Déclaration d'échantillons (C# et VB) à l'aide de SpreadsheetGear ici et télécharger l'essai gratuit ici si vous voulez essayer vous-même.
Avertissement: je possède SpreadsheetGear LLC
OriginalL'auteur Joe Erickson