EXPORTER UN DATAGRIDVIEW VERS EXCEL

rudhf Messages postés 62 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 30 juin 2007 - 5 nov. 2006 à 22:00
YuneSh Messages postés 22 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 5 août 2011 - 22 juil. 2011 à 23:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40216-exporter-un-datagridview-vers-excel

YuneSh Messages postés 22 Date d'inscription lundi 3 janvier 2011 Statut Membre Dernière intervention 5 août 2011
22 juil. 2011 à 23:07
merci :)
yourisparrow Messages postés 7 Date d'inscription mardi 14 avril 2009 Statut Membre Dernière intervention 21 avril 2010
21 avril 2010 à 00:32
c faisable avec un streamwriter.
sourourbe Messages postés 3 Date d'inscription mercredi 31 décembre 2008 Statut Membre Dernière intervention 16 mars 2009
24 mars 2010 à 15:09
Bonjour,

Merci beaucoup pour ce code. Est ce que quelqu'un peut m'expliquer comme exporter un DataGridView vers un fichier Word?
Jomba Messages postés 58 Date d'inscription mercredi 2 novembre 2005 Statut Membre Dernière intervention 22 juillet 2010
6 nov. 2009 à 15:41
ce ne serait pas plus simple comme ça?

Public Sub ExporterVersExcel(ByRef Dgv As DataGridView)

Dim objXL As Excel.Application
Dim objClasseur As Excel.Workbook
Dim objFeuille As Excel.Worksheet

Try
' Lancer Excel
objXL = New Excel.Application
objXL.DisplayAlerts = False
objClasseur = objXL.Workbooks.Add(1)
objFeuille = objClasseur.Sheets(1)

Dim iLigne As Integer
' Récupérer l'élément actuellement sélectionné
iLigne = Dgv.Rows.GetFirstRow(DataGridViewElementStates.Selected)
' Tout sélectionner
Dgv.SelectAll()
' Le mettre en mémoire ClipBoard
Clipboard.SetDataObject(Dgv.GetClipboardContent())
' Remettre la sélection précédente
While Dgv.Rows.GetFirstRow(DataGridViewElementStates.Selected) > -1
Dgv.Rows(Dgv.Rows.GetFirstRow(DataGridViewElementStates.Selected)).Selected = False
End While
Dgv.Rows(iLigne).Selected = True

' Coller le datagrid dans Excel
objFeuille.Cells.PasteSpecial(Excel.XlPasteType.xlPasteAll, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationAdd)

' Rendre visible Excel
objXL.Visible = True
objXL.UserControl = True
Catch ex As Exception
MessageBox.Show(ex.ToString())
End Try
End Sub
cs_yasmina28 Messages postés 1 Date d'inscription samedi 12 septembre 2009 Statut Membre Dernière intervention 14 septembre 2009
14 sept. 2009 à 00:18
Bonjour
j'ai essaé ce code mais j'ai un petit problème je crois que j'ai oublié de rajouter un dll mais je sais pas laquelle
le problème est: quand j'éxécute il ne reconnait pas la méthode SaveAs
pactoopac Messages postés 9 Date d'inscription samedi 9 juin 2007 Statut Membre Dernière intervention 22 mars 2010
24 juil. 2009 à 15:23
attention si le dataGridView a plus de 26 colonnes!!

en bircolant un peut, voici une petite solution pour les tableaux avec moins de 676 colonnes.

Pour la première boucle :
if (i < 26)
oRng = oSheet.get_Range(Convert.ToChar(65 + i).ToString() + "1", Missing.Value);
else
{
oRng = oSheet.get_Range(Convert.ToChar(65 + ii).ToString() + Convert.ToChar(65 + i%26).ToString() + "1", Missing.Value);
if ((i%26).Equals(0))
ii++;
}

pour la seconde :

if (i < 26)
oRng = oSheet.get_Range(Convert.ToChar(65 + i).ToString() + j.ToString(), Missing.Value);
else
{
oRng = oSheet.get_Range(Convert.ToChar(65 + ii).ToString() + Convert.ToChar(65 + i%26).ToString() + j.ToString(), Missing.Value);
if ((i % 26).Equals(0))
ii++;
}
a_alexandrov Messages postés 2 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 20 août 2007
20 août 2007 à 14:33
use DataGridView Extension - it is free and gives you the ability to export to Excel, Html, soon Pdf (they say). Also you can search for text, save some settings as a theme, make all controls look and behave the same very easy.

http://www.completit.com/Products/DGVE/Overview.aspx

Hope it will be helpfull.
okok1 Messages postés 4 Date d'inscription dimanche 26 mars 2006 Statut Membre Dernière intervention 19 juillet 2007
19 juil. 2007 à 19:06
En cours de test. merci d'avance...
ricklekebekoi Messages postés 303 Date d'inscription mardi 11 février 2003 Statut Membre Dernière intervention 24 avril 2009 5
6 nov. 2006 à 18:43
Y aller par colones déjà, sa risquerait d'être plus rapide :)
rudhf Messages postés 62 Date d'inscription mercredi 26 avril 2006 Statut Membre Dernière intervention 30 juin 2007 2
5 nov. 2006 à 22:00
dans ce code je copie mon datagridview ligne par ligne, s'il y a une autre méthode pour faire ça, je serai ravi de la connaitre.