Aspx/html vers excel ou autre

ap24dp Messages postés 20 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 20 août 2013 - 18 mars 2012 à 11:33
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 - 20 mars 2012 à 08:27
salut,
j'ai un formulaire qui remplit une bd access.
un html qui me permet de lire la bd dans un tableau, mais je souhaite avoir un bouton qui me permet d'enregistrer ce résultat dans un fichier lisible par un tableur
ci-dessous la source de l'extraction
----------------------------------------
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

<script runat="server">
' On définit la connection
Dim Conn As New OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("\data\athletisme.mdb"))

sub Page_Load(obj as Object, e as EventArgs)
if Not Page.IsPostBack then
FillDataGrid()
end if

FillDataGrid()
end sub

sub FillDataGrid()
'Ouverture de la connexion
dim objCmd as new OleDbCommand _
("select * from LISTE", Conn)
dim objReader as OleDbDataReader

try
objCmd.Connection.Open()
objReader = objCmd.ExecuteReader()
catch ex as Exception
lblMessage.Text = "Erreur de liaison avec la base de données."
end try

dgData.DataSource = objReader
dgData.DataBind()

objReader.Close
objCmd.Connection.Close()

end sub

function ExecuteSQL(strSQL)
dim objCmd as new OleDbCommand(strSQL, Conn)

try
objCmd.Connection.Open()
objCmd.ExecuteNonQuery()
catch ex as Exception

end try

objCmd.Connection.Close()
end function
</script>

<html>



<form runat="server">





<Columns>

















</Columns>

<HeaderStyle BackColor="#0033CC" Font-Bold="True" ForeColor="White" />




</form>

</html>

-----------------------------------
si vous souhaitez voir le le résultat du fichier www.flrlemonteil.com/données.aspx

6 réponses

ap24dp Messages postés 20 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 20 août 2013
18 mars 2012 à 11:34
pardo
merci d'avance
bye A+
Alain
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
19 mars 2012 à 09:46
Salut,

il va falloir parcourir la commande toi-même, généré le résultat au format CSV (un tuple par ligne, valeurs de champs séparés par des points virgules). Rien de compliqué ;)

Lors de la génération de la Response il faudra également réécrire l'entête pour dire au client qu'il s'agit d'un document CSV, et non d'une page "normale" qui va lui arriver. Je vais t'éviter quelques recherches, voici le code correspondant (en C#) :
response.Clear();
response.Charset = "ISO-8859-1";
response.AddHeader("Expires", "Thu, 01 Dec 1994 16:00:00 GMT");
response.AddHeader("Content-Type", "text/csv; charset=ISO-8859-1");
response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
response.Flush();
0
ap24dp Messages postés 20 Date d'inscription vendredi 10 février 2012 Statut Membre Dernière intervention 20 août 2013
19 mars 2012 à 11:08
salut,
je ne comprends pas comment utiliser le code.
merci de me donner un peu plus de détails (novice, je découvre)
merci
Alain
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
19 mars 2012 à 14:29
Re,

déjà fais le parcours de la requête pour générer le CSV dans une string.
On recausera de la Response ensuite ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Megafan Messages postés 389 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 23 septembre 2016 2
19 mars 2012 à 19:15
Bonjour,
Autre solution
Utilisez une ReportViewer et une fonction LocalReport.Render("excel",...)
Mise en œuvre 3 minutes.

Megafan

Développeur de http://www.o10c.eu (Lien)


La nouvelle référence en matière de jeu de stratégie spatiale.
0
cs_jopop Messages postés 1540 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 1 août 2013 12
20 mars 2012 à 08:27
Ben du coup c'est moi qui aurais appris quelque chose :)

Va y'avoir d'la manoeuvre dans mes WebControls tiens :P
0
Rejoignez-nous