2010-07-16 10 views
1

je code suivant pour exporter vers Excel dans la page contenant ReportByApp.aspx rapport de cristal crReportbyApp.rptExporter vers Excel dans .net

  Dim outstream As System.IO.MemoryStream 
      Dim strFileName As String 

      strFileName = "Report_" & Now.ToString("MM-dd-yy") & " " & Now.Hour.ToString & Now.Minute.ToString & Now.Second.ToString & Now.Millisecond.ToString 
      strFileName = strFileName & ".xls" 

      outstream = CType(rptDoc.ExportToStream(CrystalDecisions.[Shared].ExportFormatType.Excel), System.IO.MemoryStream) 
      Response.ClearHeaders() 
      Response.Buffer = False 
      Response.ContentType = "application/vnd.ms-excel" 
      Response.AddHeader("Content-Disposition", "attachment; filename=" & strFileName) 
      Response.BinaryWrite(outstream.ToArray) 
      Response.End() 

mais il jette une exception comme ci-dessous:

erreur dans le fichier c: \ inetpub \ wwwroot \ epapm \ crReportbyApp.rpt: erreur détectée par l'exportation DLL: "

"CrystalDecisions.CrystalReports.Engine"

StackTrace à .F (String, EngineExceptionErrorID) à .Un (Int16, Int32) à . @ (Int16) à CrystalDecisions.CrystalReports.Engine.FormatEngine.ExportToStream (ExportRequestContext reqContext) à CrystalDecisions.CrystalReports .Engine.ReportDocument.ExportToStream (ExportFormatType formatType) à AppCrystalReport.btnExportToExcel_Click (Object expéditeur, EventArgs e) dans
c: \ inetpub \ wwwroot \ epapm \ ReportByApp.aspx.vb: ligne 311" String

S'il vous plaît quelqu'un me aider dans ce domaine.

Répondre

2

Cela semble être un bug dans le moteur Crystal Reports. (http://social.msdn.microsoft.com/forums/en-US/vscrystalreports/thread/c11d5168-8ee1-49b1-aa45-800c09e46b71/ & http://forums.asp.net/t/1363585.aspx)

Il existe un correctif pour cela. Toutefois, installez un correctif à vos risques et périls (IE le tester avant de l'installer sur votre serveur).

S'il vous plaît noter que je ne l'ai pas rencontré ce problème et n'ont pas reproduit et a résolu. C'est juste de ma recherche en ligne.

Link to the hotfix information:

Symptôme
Après avoir installé le Service Pack 2 pour Windows 2003 Server, l'application Web ASP.Net affiche une erreur lors de l'exportation au format Excel.

CrystalDecisions.CrystalReports.Engine.ExportException: Erreur dans le fichier C: \ WINDOWS \ TEMP \ temp_.rpt: erreur détectée par l'exportation DLL

cause
Ceci est un problème connu avec Crystal Reports pour VS.NET 2003 et a été suivi. L'ID Track est ADAPT00756601

Résolution
Correctifs aborder la question ont été libérés. Le problème peut être résolu en appliquant le correctif sur la machine de développement et la copie du « exportmodeller.dll » à la machine de déploiement.

Si le problème se produit sur les ordinateurs de développement et de déploiement, suivez les étapes indiquées ci-dessous: Appliquez "Correctif" dans la machine de développement. Redémarrez la machine de développement. Localisez le fichier « de exportmodeller.dll » sur les machines de déploiement. Renommez le fichier "exportmodeller.dll" ou sauvegardez l'ancien "exportmodeller.dll". Copiez le fichier "exportmodeller.dll" mis à jour à partir de la machine de développement après avoir appliqué le correctif. Collez le nouveau fichier "exportmodeller.dll" dans les machines de déploiement où vous avez renommé l'ancien. c'est-à-dire, le chemin exact. Redémarrez la machine de déploiement. Le correctif pour ce problème peut être téléchargé à partir de l'URL mentionnée ci-dessous:

ftp://ftp1.businessobjects.com/outgoing/CHF/crnet11win_en.zip

Mots-clés
erreur détectée par l'exportation DLL, exportation vers Excel dans VS.NET, Erreur dans le fichier,, 8.342.631

+1

WoW! Parfait ... J'avais cherché des solutions depuis des jours ... n c'était Bingo .... :) merci! ça a résolu mon problème ... – RMN

0

L'erreur se trouve dans ExportModeller.dll v 9.1.1.527. Vous devez installer le pach.

Comme rapporté ici (en italien) http://blogs.sysadmin.it/ermannog/archive/2009/04/28/3258.aspx vous devez télécharger le patch pour le rapport cristal nommé crnet11win_en.zip (peut trouver une recherche sur google), estract le fichier compressé dans ce fichier, et remplacer le fichier dans votre site de la machine sur c: \% ProgramFiles% \ fichier comuni \ crystal decision \ bin \ 1.0 et remplacez le fichier nommé ExportModeller.dll afin que la version de la DLL doit être 9.1.1.528 et non 9.1.1.527.

Si vous regardez ici peut trouver le fichier crnet11win_en.zip déjà estracted https://skydrive.live.com/?cid=174281e704ea1a69&id=174281E704EA1A69%21176