Copie de modèle Excel corrompue
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 :oops:
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:
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:
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:
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... :calim2:
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 8O
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 ? :mrgreen:
Merci d'avance !