Probleme création de fichier EXCEL

aifzaide Messages postés 41 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 2 juin 2010 - 16 sept. 2008 à 18:14
 raniawannes - 30 mai 2013 à 18:03
Bonjour,

Dans mon site web, je genere un fichier .xls dans lequel je stock des stats. Lorsque je crée le fichier Excel ca passe directement dans le catch et le fichier ne se crée pas.

Code:

Microsoft.Office.Interop.Excel.

Application oXL;
Microsoft.Office.Interop.Excel.
_Workbook oWB;
Microsoft.Office.Interop.Excel.
_Worksheet oSheet;
try

{

//Start Excel and get Application object.
oXL =
new Microsoft.Office.Interop.Excel.
Application();
oXL.Visible =
true;

//Get a new workbook.
oWB = (Microsoft.Office.Interop.Excel.
_Workbook)(oXL.Workbooks.Add(System.Reflection.
Missing.Value));

oSheet = (Microsoft.Office.Interop.Excel.
_Worksheet)oWB.ActiveSheet;
[....]

}

catch
{
_file.WriteLine(
"catch");
_file.Close();
}

Donc il passe directement dans le catch a partir de la ligne oXL = new
Microsoft.Office.Interop.Excel.
Application();

Quelqu'un aurait peut etre une idée d'ou vient mon probleme?
Peut etre un probleme de permission? Dans mon projet j'ai deux dll: office.dll et Microsoft.Interop.Office.Excel. Je n'ai pas pu les register avec regserv32.exe car il n'en veut pas mais il ne me fait pas d'erreur apparante lors de l'execution.

Merci de votre aide, Cordialement.

7 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
16 sept. 2008 à 21:32
Salut,

Et quelle est l'exception levée ?

Mx
MVP C# 
0
aifzaide Messages postés 41 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 2 juin 2010
17 sept. 2008 à 09:56
aucune exception apparente, je sais seulement qu'il passe dans le catch.

Il faut savoir qu'office n'est pas installé sur le serveur, j'aimerais ne pas avoir a l'installé. Es-ce possible?

J'ai aussi un autre probleme, j'aimerais que le fichier que je génere soit compatible avec office 2003 et aussi office 2007. Une solution a proposé?

Cordialement.
0
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
17 sept. 2008 à 11:59
Salut,

Change ton try/catch pour savoir de quelle exception il s'agit

try

{

//Start Excel and get Application object.
...

}

catch (Exception ex)
{
_file.WriteLine(
"catch: "+ex.ToString());
_file.Close();
}
0
aifzaide Messages postés 41 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 2 juin 2010
17 sept. 2008 à 14:33
voila l'erreur:

catch: System.UnauthorizedAccessException: Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.
   at XLSOFF2007..ctor(String[][] tab, String partenaire, String sessionLogin) in c:\Inetpub\Extranet Stats\App_Code\XLSOFF2007.cs:line 25
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aifzaide Messages postés 41 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 2 juin 2010
17 sept. 2008 à 14:54
j'ai reglé le probleme en faisant ca:
a. I first opened DCOMCNFG from the command prompt, opened Component Services, expanded Computers/My Computer/DCOM Config. Then I Selected Microsoft Excel Application, and in the resulting dialog selected Security tab. Under Security Tab I changed Launch and Activation Permissions to customize, Access Permissions to customize and configuration Permissions to customize. And in the all the three I selected the ASPNET account.
b. I then Select the NEW Folder in Windows Explorer, opened the properties and under WebSharing tab I selected Share This Folder.

Maintenant j'ai l'erreur suivante:
catch:System.Runtime.InteropServices.COMException (0x800A03EC): Mémoire insuffisante. Microsoft Office Excel ne peut plus ouvrir ou enregistrer de documents.


• Pour augmenter la mémoire disponible, fermez les classeurs ou les programmes dont vous n'avez plus besoin.


• Pour libérer de l'espace du disque sur lequel vous enregistrez, supprimez-en les fichiers dont vous n'avez plus besoin.
   at Microsoft.Office.Interop.Excel.Workbooks.Add(Object Template)
   at XLSOFF2007..ctor(String[][] tab, String partenaire, String sessionLogin) in c:\Inetpub\Extranet Stats\App_Code\XLSOFF2007.cs:line 30
0
aifzaide Messages postés 41 Date d'inscription lundi 12 février 2007 Statut Membre Dernière intervention 2 juin 2010
17 sept. 2008 à 15:41
Quelqu'un pour une idée?
0
raniawannes
30 mai 2013 à 18:03
Bonjour,

s'il vous plais si vous avez trouvé une solution pour ce probleme merci de m'aider j'ai le même probleme exactement et je sais pas comment resoudre
j'utilise windows server 2008


dans l'attente de votre aide

merci d'avance

cordialement
0
Rejoignez-nous