Probleme création de fichier EXCEL

Signaler
Messages postés
41
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
2 juin 2010
-
 raniawannes -
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

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Salut,

Et quelle est l'exception levée ?

Mx
MVP C# 
Messages postés
41
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
2 juin 2010

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.
Messages postés
327
Date d'inscription
mardi 17 février 2004
Statut
Membre
Dernière intervention
10 avril 2010
7
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();
}
Messages postés
41
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
2 juin 2010

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
Messages postés
41
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
2 juin 2010

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
Messages postés
41
Date d'inscription
lundi 12 février 2007
Statut
Membre
Dernière intervention
2 juin 2010

Quelqu'un pour une idée?

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