J'ai un template Excel que je souhaite stocker comme ressource =E0
l'int=E9rieur d'une DLL.
J'ai ajout=E9 mon fichier Excel dans mon projet comme "ressource
incorpor=E9e" et j'ai utilis=E9 le code suivant pour r=E9cup=E9rer le stream
mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection
Imports System.IO
Public Sub WriteTemplate(byVal strPath as string)
Dim asm As [Assembly] =3D [Assembly].GetExecutingAssembly
' Name =3D ASSEMBLY.NAME.EXT"
Dim Name As String =3D "Reports.template.xls"
Dim s As System.IO.Stream =3D
asm.GetManifestResourceStream(Name)
' Ecriture sur disque ????
.........
End Sub
J'ai cherch=E9 dans la doc du MSDN avec les diff=E9rents Filestream,
BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment
les utiliser.
Si quelqu'un peut m'aider =E0 r=E9soudre ce probl=E8me s=FBrement trivial ?
D'avance Merci
Stephane
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stéphane
Bonjour Stéphane alias Doudou :)
Je te met plusieurs lignes et .Net 1.1 (VB .Net 2003) en vrac et sans commentaire qui pourront peut-être t'être utile (créer ou ouvrir 1 fichier excel, modifier puis sauvegarder ou sauvegarder sous,...) :
J'ai un template Excel que je souhaite stocker comme ressource à l'intérieur d'une DLL. J'ai ajouté mon fichier Excel dans mon projet comme "ressource incorporée" et j'ai utilisé le code suivant pour récupérer le stream mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection Imports System.IO
Public Sub WriteTemplate(byVal strPath as string) Dim asm As [Assembly] = [Assembly].GetExecutingAssembly ' Name = ASSEMBLY.NAME.EXT" Dim Name As String = "Reports.template.xls" Dim s As System.IO.Stream asm.GetManifestResourceStream(Name)
' Ecriture sur disque ???? ......... End Sub
J'ai cherché dans la doc du MSDN avec les différents Filestream, BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment les utiliser.
Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ? D'avance Merci Stephane
P.S. : Visual Studio 2003 / .NET 1.1
Bonjour Stéphane alias Doudou :)
Je te met plusieurs lignes et .Net 1.1 (VB .Net 2003) en vrac et sans
commentaire qui pourront peut-être t'être utile (créer ou ouvrir 1 fichier
excel, modifier puis sauvegarder ou sauvegarder sous,...) :
"Doudou" <doussiere@free.fr> a écrit dans le message de news:
1184000221.304731.258870@57g2000hsv.googlegroups.com...
Bonjour,
J'ai un template Excel que je souhaite stocker comme ressource à
l'intérieur d'une DLL.
J'ai ajouté mon fichier Excel dans mon projet comme "ressource
incorporée" et j'ai utilisé le code suivant pour récupérer le stream
mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection
Imports System.IO
Public Sub WriteTemplate(byVal strPath as string)
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly
' Name = ASSEMBLY.NAME.EXT"
Dim Name As String = "Reports.template.xls"
Dim s As System.IO.Stream asm.GetManifestResourceStream(Name)
' Ecriture sur disque ????
.........
End Sub
J'ai cherché dans la doc du MSDN avec les différents Filestream,
BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment
les utiliser.
Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ?
D'avance Merci
Stephane
Je te met plusieurs lignes et .Net 1.1 (VB .Net 2003) en vrac et sans commentaire qui pourront peut-être t'être utile (créer ou ouvrir 1 fichier excel, modifier puis sauvegarder ou sauvegarder sous,...) :
J'ai un template Excel que je souhaite stocker comme ressource à l'intérieur d'une DLL. J'ai ajouté mon fichier Excel dans mon projet comme "ressource incorporée" et j'ai utilisé le code suivant pour récupérer le stream mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection Imports System.IO
Public Sub WriteTemplate(byVal strPath as string) Dim asm As [Assembly] = [Assembly].GetExecutingAssembly ' Name = ASSEMBLY.NAME.EXT" Dim Name As String = "Reports.template.xls" Dim s As System.IO.Stream asm.GetManifestResourceStream(Name)
' Ecriture sur disque ???? ......... End Sub
J'ai cherché dans la doc du MSDN avec les différents Filestream, BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment les utiliser.
Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ? D'avance Merci Stephane
P.S. : Visual Studio 2003 / .NET 1.1
LiR
Bonjour,
Il te faut un FileStream pour écrire dans le fichier que tu veux créer. Et, entre temps, un "buffer" qui récupère les octets lus dans le stream issus de la ressource.
Ca donne :
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly Dim s As System.IO.Stream Dim fstrm As System.IO.FileStream
s = asm.GetManifestResourceStream("AssemblyName.Reports.template.xls") cc = s.Length ' taille du buffer
If cc > 0 Then
' Dimensionne le buffer pour recueillir les données ReDim buff(cc - 1) ' Lit les octets de la ressource et les place dans le buffer s.Read(buff, 0, cc) ' Crée le fichier de destination fstrm = New System.IO.FileStream("Outpath.xls", IO.FileMode.Create) ' Ecrit les données dans le fichier fstrm.Write(buff, 0, cc) End If
Note : Attention de bien définir le nom de la ressource passée à GetManifestResourceStream car sinon GetManifestResourceStream renverra Nothing
En espérant que ça t'aidera,
LiR
"Doudou" a écrit :
Bonjour,
J'ai un template Excel que je souhaite stocker comme ressource à l'intérieur d'une DLL. J'ai ajouté mon fichier Excel dans mon projet comme "ressource incorporée" et j'ai utilisé le code suivant pour récupérer le stream mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection Imports System.IO
Public Sub WriteTemplate(byVal strPath as string) Dim asm As [Assembly] = [Assembly].GetExecutingAssembly ' Name = ASSEMBLY.NAME.EXT" Dim Name As String = "Reports.template.xls" Dim s As System.IO.Stream > asm.GetManifestResourceStream(Name)
' Ecriture sur disque ???? ......... End Sub
J'ai cherché dans la doc du MSDN avec les différents Filestream, BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment les utiliser.
Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ? D'avance Merci Stephane
P.S. : Visual Studio 2003 / .NET 1.1
Bonjour,
Il te faut un FileStream pour écrire dans le fichier que tu veux créer.
Et, entre temps, un "buffer" qui récupère les octets lus dans le stream
issus de la ressource.
Ca donne :
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly
Dim s As System.IO.Stream
Dim fstrm As System.IO.FileStream
s = asm.GetManifestResourceStream("AssemblyName.Reports.template.xls")
cc = s.Length ' taille du buffer
If cc > 0 Then
' Dimensionne le buffer pour recueillir les données
ReDim buff(cc - 1)
' Lit les octets de la ressource et les place dans le buffer
s.Read(buff, 0, cc)
' Crée le fichier de destination
fstrm = New System.IO.FileStream("Outpath.xls", IO.FileMode.Create)
' Ecrit les données dans le fichier
fstrm.Write(buff, 0, cc)
End If
Note : Attention de bien définir le nom de la ressource passée à
GetManifestResourceStream car sinon GetManifestResourceStream renverra Nothing
En espérant que ça t'aidera,
LiR
"Doudou" a écrit :
Bonjour,
J'ai un template Excel que je souhaite stocker comme ressource à
l'intérieur d'une DLL.
J'ai ajouté mon fichier Excel dans mon projet comme "ressource
incorporée" et j'ai utilisé le code suivant pour récupérer le stream
mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection
Imports System.IO
Public Sub WriteTemplate(byVal strPath as string)
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly
' Name = ASSEMBLY.NAME.EXT"
Dim Name As String = "Reports.template.xls"
Dim s As System.IO.Stream > asm.GetManifestResourceStream(Name)
' Ecriture sur disque ????
.........
End Sub
J'ai cherché dans la doc du MSDN avec les différents Filestream,
BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment
les utiliser.
Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ?
D'avance Merci
Stephane
Il te faut un FileStream pour écrire dans le fichier que tu veux créer. Et, entre temps, un "buffer" qui récupère les octets lus dans le stream issus de la ressource.
Ca donne :
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly Dim s As System.IO.Stream Dim fstrm As System.IO.FileStream
s = asm.GetManifestResourceStream("AssemblyName.Reports.template.xls") cc = s.Length ' taille du buffer
If cc > 0 Then
' Dimensionne le buffer pour recueillir les données ReDim buff(cc - 1) ' Lit les octets de la ressource et les place dans le buffer s.Read(buff, 0, cc) ' Crée le fichier de destination fstrm = New System.IO.FileStream("Outpath.xls", IO.FileMode.Create) ' Ecrit les données dans le fichier fstrm.Write(buff, 0, cc) End If
Note : Attention de bien définir le nom de la ressource passée à GetManifestResourceStream car sinon GetManifestResourceStream renverra Nothing
En espérant que ça t'aidera,
LiR
"Doudou" a écrit :
Bonjour,
J'ai un template Excel que je souhaite stocker comme ressource à l'intérieur d'une DLL. J'ai ajouté mon fichier Excel dans mon projet comme "ressource incorporée" et j'ai utilisé le code suivant pour récupérer le stream mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
Imports System.Reflection Imports System.IO
Public Sub WriteTemplate(byVal strPath as string) Dim asm As [Assembly] = [Assembly].GetExecutingAssembly ' Name = ASSEMBLY.NAME.EXT" Dim Name As String = "Reports.template.xls" Dim s As System.IO.Stream > asm.GetManifestResourceStream(Name)
' Ecriture sur disque ???? ......... End Sub
J'ai cherché dans la doc du MSDN avec les différents Filestream, BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment les utiliser.
Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ? D'avance Merci Stephane
P.S. : Visual Studio 2003 / .NET 1.1
LiR
Désolé, j'avais oublié 2 lignes de déclarations :
Dim buff As Byte() Dim cc As Integer
"LiR" a écrit :
Bonjour,
Il te faut un FileStream pour écrire dans le fichier que tu veux créer. Et, entre temps, un "buffer" qui récupère les octets lus dans le stream issus de la ressource.
Ca donne :
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly Dim s As System.IO.Stream Dim fstrm As System.IO.FileStream
s = asm.GetManifestResourceStream("AssemblyName.Reports.template.xls") cc = s.Length ' taille du buffer
If cc > 0 Then
' Dimensionne le buffer pour recueillir les données ReDim buff(cc - 1) ' Lit les octets de la ressource et les place dans le buffer s.Read(buff, 0, cc) ' Crée le fichier de destination fstrm = New System.IO.FileStream("Outpath.xls", IO.FileMode.Create) ' Ecrit les données dans le fichier fstrm.Write(buff, 0, cc) End If
Note : Attention de bien définir le nom de la ressource passée à GetManifestResourceStream car sinon GetManifestResourceStream renverra Nothing
En espérant que ça t'aidera,
LiR
"Doudou" a écrit :
> Bonjour, > > J'ai un template Excel que je souhaite stocker comme ressource à > l'intérieur d'une DLL. > J'ai ajouté mon fichier Excel dans mon projet comme "ressource > incorporée" et j'ai utilisé le code suivant pour récupérer le stream > mais je ne sais pas comment faire pour l'ecrire sur disque ensuite. > > Imports System.Reflection > Imports System.IO > > Public Sub WriteTemplate(byVal strPath as string) > Dim asm As [Assembly] = [Assembly].GetExecutingAssembly > ' Name = ASSEMBLY.NAME.EXT" > Dim Name As String = "Reports.template.xls" > Dim s As System.IO.Stream > > asm.GetManifestResourceStream(Name) > > ' Ecriture sur disque ???? > ......... > End Sub > > J'ai cherché dans la doc du MSDN avec les différents Filestream, > BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment > les utiliser. > > Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ? > D'avance Merci > Stephane > > P.S. : Visual Studio 2003 / .NET 1.1 > >
Désolé, j'avais oublié 2 lignes de déclarations :
Dim buff As Byte()
Dim cc As Integer
"LiR" a écrit :
Bonjour,
Il te faut un FileStream pour écrire dans le fichier que tu veux créer.
Et, entre temps, un "buffer" qui récupère les octets lus dans le stream
issus de la ressource.
Ca donne :
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly
Dim s As System.IO.Stream
Dim fstrm As System.IO.FileStream
s = asm.GetManifestResourceStream("AssemblyName.Reports.template.xls")
cc = s.Length ' taille du buffer
If cc > 0 Then
' Dimensionne le buffer pour recueillir les données
ReDim buff(cc - 1)
' Lit les octets de la ressource et les place dans le buffer
s.Read(buff, 0, cc)
' Crée le fichier de destination
fstrm = New System.IO.FileStream("Outpath.xls", IO.FileMode.Create)
' Ecrit les données dans le fichier
fstrm.Write(buff, 0, cc)
End If
Note : Attention de bien définir le nom de la ressource passée à
GetManifestResourceStream car sinon GetManifestResourceStream renverra Nothing
En espérant que ça t'aidera,
LiR
"Doudou" a écrit :
> Bonjour,
>
> J'ai un template Excel que je souhaite stocker comme ressource à
> l'intérieur d'une DLL.
> J'ai ajouté mon fichier Excel dans mon projet comme "ressource
> incorporée" et j'ai utilisé le code suivant pour récupérer le stream
> mais je ne sais pas comment faire pour l'ecrire sur disque ensuite.
>
> Imports System.Reflection
> Imports System.IO
>
> Public Sub WriteTemplate(byVal strPath as string)
> Dim asm As [Assembly] = [Assembly].GetExecutingAssembly
> ' Name = ASSEMBLY.NAME.EXT"
> Dim Name As String = "Reports.template.xls"
> Dim s As System.IO.Stream > > asm.GetManifestResourceStream(Name)
>
> ' Ecriture sur disque ????
> .........
> End Sub
>
> J'ai cherché dans la doc du MSDN avec les différents Filestream,
> BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment
> les utiliser.
>
> Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ?
> D'avance Merci
> Stephane
>
> P.S. : Visual Studio 2003 / .NET 1.1
>
>
Il te faut un FileStream pour écrire dans le fichier que tu veux créer. Et, entre temps, un "buffer" qui récupère les octets lus dans le stream issus de la ressource.
Ca donne :
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly Dim s As System.IO.Stream Dim fstrm As System.IO.FileStream
s = asm.GetManifestResourceStream("AssemblyName.Reports.template.xls") cc = s.Length ' taille du buffer
If cc > 0 Then
' Dimensionne le buffer pour recueillir les données ReDim buff(cc - 1) ' Lit les octets de la ressource et les place dans le buffer s.Read(buff, 0, cc) ' Crée le fichier de destination fstrm = New System.IO.FileStream("Outpath.xls", IO.FileMode.Create) ' Ecrit les données dans le fichier fstrm.Write(buff, 0, cc) End If
Note : Attention de bien définir le nom de la ressource passée à GetManifestResourceStream car sinon GetManifestResourceStream renverra Nothing
En espérant que ça t'aidera,
LiR
"Doudou" a écrit :
> Bonjour, > > J'ai un template Excel que je souhaite stocker comme ressource à > l'intérieur d'une DLL. > J'ai ajouté mon fichier Excel dans mon projet comme "ressource > incorporée" et j'ai utilisé le code suivant pour récupérer le stream > mais je ne sais pas comment faire pour l'ecrire sur disque ensuite. > > Imports System.Reflection > Imports System.IO > > Public Sub WriteTemplate(byVal strPath as string) > Dim asm As [Assembly] = [Assembly].GetExecutingAssembly > ' Name = ASSEMBLY.NAME.EXT" > Dim Name As String = "Reports.template.xls" > Dim s As System.IO.Stream > > asm.GetManifestResourceStream(Name) > > ' Ecriture sur disque ???? > ......... > End Sub > > J'ai cherché dans la doc du MSDN avec les différents Filestream, > BinaryWriter, BufferStream, .... mais je ne sais pas vraiment comment > les utiliser. > > Si quelqu'un peut m'aider à résoudre ce problème sûrement trivial ? > D'avance Merci > Stephane > > P.S. : Visual Studio 2003 / .NET 1.1 > >