begin process at 2008 08 22 05:12:00
1 229 775 membres
46 nouveaux aujourd'hui
14 267 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : datagridview (vue SQL) à exporter en fichier TXT... comment faire ? [ Base de données / SQL Server ] (stef93420)

datagridview (vue SQL) à exporter en fichier TXT... comment faire ? le 22/06/2008 21:17:15

stef93420
Bonjour,

Je cherche à exporter le contenu q'une datagridview contenant le résultat d'une view sql server vers un fichier texte.
Je précise que j'ai fait au plus simple pour incorporer ce datagridview dans un form en faisant un glisser-déposer depuis la barre "source de données" => création automatique d'un DataSet, d'un TableAdapter & d'un BindingNavigator.
Je me demande si c'était la meilleure méthode ou si je devais incorporer un datarid/datagridview "vierge" que je chargerai via un événement type "choix par menu". Ce datagrid me sert à prévisualiser le résultat de la requête sql avant de lancer l'export en TXT via un bouton.

Merci par avance pour votre aide.

Re : datagridview (vue SQL) à exporter en fichier TXT... comment faire ? le 23/06/2008 06:24:48

bubbathemaster
Et si par exemple, tu utilisais un StreamWriter et que tu parcourais les rows de ta DGV avec une boucle.

Allez un petit effort.

Re : datagridview (vue SQL) à exporter en fichier TXT... comment faire ? le 23/06/2008 22:33:42

stef93420
Méthode déja essayé mais j'ai du oublier quelque chose au niveau syntaxe...

Re : datagridview (vue SQL) à exporter en fichier TXT... comment faire ? le 24/06/2008 06:14:30

bubbathemaster
Tiens c'est le code que j'ai écris pour un de mes programmes:

/// <summary>
        /// Export DGV datas to CSV format
        /// </summary>
        /// <param name="dgv"></param>
        /// <param name="fileName"></param>
        /// <returns>True on success, false upon failure</returns>
        public static bool exportDGV(DataGridView dgv, string fileName)
        {
            try
            {
                using (StreamWriter sw = new StreamWriter(fileName))
                {
                    //write column headers
                    string line = "";
                    for (int i = 0; i < dgv.Columns.Count; i++ )
                    {
                        if (dgv.Columns[i].Visible)
                            line += Tools.escapeCSVString(dgv.Columns[i].HeaderText) + ",";
                    }
                    line = line.TrimEnd(',');
                    sw.WriteLine(line);

                    //write data
                    for (int i = 0; i < dgv.Rows.Count; i++)
                    {
                        line = "";
                        for (int j = 0; j < dgv.Columns.Count; j++)
                        {
                            if (dgv.Columns[j].Visible)
                            {
                                line += Tools.escapeCSVString(dgv[j, i].FormattedValue.ToString()) + ",";
                            }
                        }
                        line = line.TrimEnd(',');
                        sw.WriteLine(line);
                    }
                }

                return true;
            }
            catch
            {
                return false;
            }
        }


/// <summary>
        /// Escape a string to respect RFC 4180 standard
        /// </summary>
        /// <param name="s"></param>
        /// <returns></returns>
        public static string escapeCSVString(string s)
        {
            if (s.Contains(","))
            {
                s = s.Replace("\"", "\"\"");
                s = "\"" + s + "\"";
                return s;
            }
            else
            {
                return s;
            }
        }


Classé sous : fichier, sql, txt, exporter, datagridview

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Boutique

Boutique de goodies CodeS-SourceS