Tu vois bien que le code n'était pas mauvais, enfin même celui que l'on m'avait posté
![]()
Tu vois bien que le code n'était pas mauvais, enfin même celui que l'on m'avait posté
![]()
j'ai oublié de vous dire que mon grid est écrit en arabe, donc le fichier excel n'est pas bien représenté! y-a-t-il un moyen pour bien organiser mon fichier ?
après l'ouverture du fichier j'accède à:
outils --> options --> et je coche afficher la feuille active de droite à gauche
et ça bien marché.
mais je cherche un outil pour faire ça par le code en asp.net/vb.net pour faciliter la tâche de l'utilisateur qui n'est pas en principe en relation avec l'informatique !
Tu peux toujours faire la promotion et apprendre l'arabe
Essaies celui-ci stp, mais moi aussi j'ai du mal à convertir les cellules en format texte
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Protected Sub Button2_Click(sender As Object, e As EventArgs) Response.Clear() Response.AddHeader("content-disposition", "attachment;filename=fichier.xls") Response.Charset = "" Response.ContentType = "application/vnd.xls" Dim stringWrite As New System.IO.StringWriter() Response.ContentEncoding = System.Text.Encoding.UTF8 Dim htmlWrite As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(stringWrite) NomDeLaGridview.RenderControl(htmlWrite) Response.Write(stringWrite.ToString()) Response.[End]() End Sub Public Overrides Sub VerifyRenderingInServerForm(control As Control) End Sub
D'accord je vais essayer avec ça
tu parles des cellules du fichier excel ou bien celles du gridview ? Si les premières, moi aussi je constate que les cellules sont mal formées !
merci beaucoup pour ta réponse
je crois que ça permet de lire les caractères arabe mais il ne résout pas le problème de l'affichage, càd si dans mon grid j'ai les colonnes C1, C2, ..., Cn alors dans le fichier excel j'obtiens Cn,Cn-1,......,C2,C1 !
Celle du fichier excel,tu parles des cellules du fichier excel ou bien celles du gridview ?
Comment tu crées ta gridview?
Bonjour
mon grid est constitué des templatefields qui sont des textbox où l'utilisateur va saisir ses données
d'accord:
et pour arriver à afficher mon grid, je l'affecte un datatable et dans mon page_load j'ai fais:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 <asp:GridView ID="GridView1" runat="server" BackColor = "White" EmptyDataRowStyle-BackColor = "SkyBlue" EmptyDataRowStyle-Font-Size = "Medium" Style="position: relative; top: 30px; left: 0px; direction: rtl;" Height="300px" AutoGenerateColumns="False" ShowFooter="True" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical"> <Columns> <asp:TemplateField HeaderText = "العدد الرتبي" > <ItemTemplate> <asp:TextBox ID="TxtBox_col0" runat="server" ReadOnly="false" EnableViewState="true" ></asp:TextBox></div> <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TxtBox_col0" Type="Integer" Operator="DataTypeCheck" ErrorMessage="Veuillez saisir un entier" Display="Dynamic" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText = "الإسم و اللقب" > <ItemTemplate> <asp:TextBox ID="TxtBox_col3" runat="server" ReadOnly="false" EnableViewState="true"></asp:TextBox></div> <asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="TxtBox_col3" Type="string" Operator="DataTypeCheck" ErrorMessage="Veuillez saisir une chaine de caractères!" Display="Dynamic" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText = "الخطة المشغولة" > <ItemTemplate> <asp:TextBox ID="TxtBox_col4" runat="server" ReadOnly="false" EnableViewState="true"></asp:TextBox></div> <asp:CompareValidator ID="CompareValidator3" runat="server" ControlToValidate="TxtBox_col4" Type="string" Operator="DataTypeCheck" ErrorMessage="Veuillez saisir une chaine de caractères!" Display="Dynamic" /> </ItemTemplate> </asp:TemplateField> ...... </Columns> <EmptyDataRowStyle BackColor="SkyBlue" Font-Size="Medium" /> <RowStyle BackColor="#EEEEEE" ForeColor="Black" /> <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /> <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" /> <AlternatingRowStyle BackColor="#DCDCDC" /> </asp:GridView>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 If Not (Page.IsPostBack) Then Dim R1 As DataRow R1 = tbl.NewRow tbl.Rows.Add(R1) GridView1.DataSource = tbl GridView1.DataBind() End If
Essaies de revoir un peu <asp:TemplateField>
Dis esque ton gridview s'affiche?
quel est le problème avec mes templatefields?
oui j'arrive à afficher mon grid avec le contenu du page_load
Mais alors avec ma fonctioncomment se passe l'exportation vers excel?
ça bien passé sauf que l'ordre des colonnes n'est pas bon et je dois aller à chaque fois dans l'onglet menu et cocher afficher cette feuille de droite à gauche![]()
Bon cette partie est trop technique pour moi c'est un peu comme mon problème de format des cellules, t'as essayé de changer l'ordre lors de c=la conception de la gridview?
Partager