Bonjour bonjour,

Après deux demi-journées de recherche sur le net, je me résout à venir demander un petit coup de pouce sur le forum

Voilà mon problème, je stock un modèle excel (format .xltm) sur mon serveur que je souhaites importer en local. J'utilise donc pour cela le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
public static byte[] GetFichierExcel(string pathFichier)
{
     // Ouverture d'un flux à partir du fichier sur le serveur
     FileStream fileStream = (new FileStream(pathFichier, FileMode.Open, FileAccess.Read, FileShare.Read));
     // Création d'un tableau d'octets de la taille du flux
     var buffer = new byte[fileStream.Length];
     // Alimentation du tableau à partir du flux
     fileStream.Read(buffer, 0, (int)fileStream.Length);
     // Fermeture du flux
     fileStream.Close();
 
     return buffer;
}
Jusque là pas de souci. Je file ensuite le tableau de byte à une fonction pour créer le fichier en local :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
Fichier.CreerFichier(pathLocal, buffer);
Je vois bien le fichier se créer dans mon arborescence et lorsque je tente de l'ouvrir dans mon code pour l'ajouter en tant que modèle :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
xlApp = new Microsoft.Office.Interop.Excel.Application();
xlWorkBook = xlApp.Workbooks.Add(pathModelLocal);
Il me renvoie l'erreur : Exception de HRESULT : 0x800A03EC

Et quand j'ouvre le fichier créé en double-cliquant dessus, il m'annonce qu'Excel a rencontré du contenu illisible...

Pour les tests, j'ai donc essayé d'utiliser mon modèle de base et de le copier/coller à la main en local, et à ce moment là pas de souci, mon code le prend bien et tout s'éxecute normalement

J'en vient donc à penser que je dois faire quelque-chose de mal lors de la lecture du fichier sur le serveur pour aller le créer en local... Une idée ?

Merci d'avance !