Creer un fichier Excel [Résolu]

Signaler
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007
-
Messages postés
2
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
7 mars 2007
-
Bonjour a tous,
J'aimerais créer un fichier Excel sur mon server. Cependant, Office n'est pas installé dessus.
Existe-t-il un moyen simple afin de pouvoir creer et modifier ensuite ce fichier Excel.

Merci d'avance

ElpenS

9 réponses

Messages postés
426
Date d'inscription
mercredi 22 janvier 2003
Statut
Modérateur
Dernière intervention
13 juillet 2007

Bonjour,

Voici un exemple pour envoyer un fichier Excel construit à partir d'un dataset.

DataGrid export = new DataGrid();
export.DataSource = xls;
export.AllowSorting = false;
export.DataBind();
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF7;
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer= true;
HttpContext.Current.Response.Cache.SetExpires(DateTime.Now.AddSeconds(1));
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Current.Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter sw = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter tw = new System.Web.UI.HtmlTextWriter(sw);
export.RenderControl(tw);
HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename="+"nomfichier"+".xls");
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Merci pour ta solution, elle me parait très bien.
Je vais la tester,...

ElpenS
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

En fait, ce serait presque plus pratique de pouvoir le telecharger du coté client, sans passer par le server...

Je voulais effectuer cela pour avoir une trace des fichiers mais apparamment, je n'en ai plus besoin ensuite.
Donc rien ne sert de surcharger le server avec des manipulation inutiles

Merci quand meme de ton aide et si vous avez une proposition a me faire concernant (cette fois-ci) le telechargement coté client , je suis preneur.

Bonne soirée a tous

ElpenS
Messages postés
1648
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
2
La solution que t'as donné azra correspond bien à ce que tu veux : elle ne stocke rien sur le serveur !! elle ne fait que faire télécharger le fichier excel !
non ?

Qu'est ce que tu veux dire par : "(cette fois-ci) le telechargement coté client"

Nurgle
Messages postés
260
Date d'inscription
vendredi 2 décembre 2005
Statut
Membre
Dernière intervention
3 novembre 2007

Ouais, desolé, j'ai totalement halluciné....

Sorry,

ElpenS
Messages postés
38
Date d'inscription
dimanche 29 juin 2003
Statut
Membre
Dernière intervention
7 juillet 2006

cette solution me dépanne bien aussi
cependant, une petite question : le fichier xls que j'obtiens est un peu formatté (mise en page), y a-t-il un moyen de supprimer cette mise en forme afin d'obtenir un xls "brut"
merci bcp d'avance
Messages postés
1
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
7 novembre 2007

Salut,


Je debute en .NET et cherche a faire un export d'une gridview


ton code a l'air bien sympa, j'ai changé datagrid par gridview mais je ne vois pas ou il va chercher les données dans ton code ?!?


j'imagine qu'elles sont dans la variable xls, mais de qu'es ce qu'elle doit etre ?


 


merci
Messages postés
1
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
12 septembre 2006

Bonjour,
Souhaitant exporter un GridView au format Excel, j'ai essayé d'utiliser ce code. Mais il me sort : "Le contrôle 'GV_Results_List' de type 'GridView' doit être placé dans une balise form avec runat=server."
Voici mon code : HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF7
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.Buffer =

True
HttpContext.Current.Response.Cache.SetExpires(DateTime.Now.AddSeconds(1))
HttpContext.Current.Response.ContentType = "application/vnd.ms-excel"
HttpContext.Current.Response.Charset =
""
Me
.EnableViewState =
False
Dim
sw
As

New
StringWriter
Dim
tw
As

New
UI.HtmlTextWriter(sw)
GV_Results_List.RenderControl(tw)
HttpContext.Current.Response.AddHeader("content-disposition"
,
"attachment;filename="
+
"nomfichier"
+
".xls"
)
HttpContext.Current.Response.Write(sw.ToString())
HttpContext.Current.Response.End()

Quelqu'un pourrait m'aider s'il vous plait?

Stef
Messages postés
2
Date d'inscription
jeudi 2 septembre 2004
Statut
Membre
Dernière intervention
7 mars 2007

Bonjour ( Manao ahoana )
essaie d'ajouter ce code dans le codebehind de ta page aspx.

    public override void VerifyRenderingInServerForm(Control control)
    {
        // Confirms that an HtmlForm control is rendered for the specified ASP.NET server control at run time.
    }

RTN infogasy

C# DEV