Exporter des données à un fichier excel

Fermé
thibaugosse Messages postés 9 Date d'inscription mardi 7 juin 2016 Statut Membre Dernière intervention 13 juin 2016 - 7 juin 2016 à 11:43
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 - 7 juin 2016 à 18:12
Bonjour, je suis bloqué sur un problème depuis quelques jours et je n'arrive vraiment pas à comprendre pourquoi.
J'ai créé un formulaire où l'on renseigne un certains nombre d'informations et on peut exporter ces informations sur un fichier csv. Lorsque j'essaye d'ouvrir ce fichier avec le bloc note cela me marque des signes incompréhensibles de ce genre là :
Cq·ÃNsüD¦õ$¢Š%†Ù襤Ò`¯)qmœÔ.ôšcéuyÖ
Ê<M·2üÕ€b¦)Ž•‚p¬6 NƒÎÿk»ºnK|qåg–¯XÈoÎd9ŠêÐ +˜Z$ÇÉ&‰Ä ¯Ãä7†É—`²ÃdK0Û5aÈè

J'aimerai donc savoir comment faire pour pouvoir afficher mes données et non pas ces signes.
Merci d'avoir lu
A voir également:

4 réponses

Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931
7 juin 2016 à 13:31
Bonjour,

Dans ma boule de cristal, je vois qu'à la ligne 123 de ton code il faut ajouter un espace.

Sinon, au cas où tu voudrais une reponse sérieuse, il faudrait poster ton code en utilisant cette procédure
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
0
thibaugosse Messages postés 9 Date d'inscription mardi 7 juin 2016 Statut Membre Dernière intervention 13 juin 2016
7 juin 2016 à 13:34
Désolé voici le code
        private void btnExporter_Click(object sender, EventArgs e)
{
// Creating a Excel object.
Microsoft.Office.Interop.Excel._Application excel = new Microsoft.Office.Interop.Excel.Application();
Microsoft.Office.Interop.Excel._Workbook workbook = excel.Workbooks.Add(Type.Missing);
Microsoft.Office.Interop.Excel._Worksheet worksheet = null;

try
{
worksheet = workbook.ActiveSheet;
worksheet.Name = "ExportedFromDatGrid";

int cellRowIndex = 1;
int cellColumnIndex = 2;
int b = 50;
int c = 100;
int d = 150;
String Date = System.DateTime.Now.ToShortDateString();
int minute = System.DateTime.Now.Minute; // les minutes
int heure = System.DateTime.Now.Hour; // l'heure

string HEURE = heure.ToString() + ":" + minute.ToString();
string DATE = Date + " " + HEURE;
MessageBox.Show("DATE = " + DATE);

worksheet.Cells[1, 1] = ":DATE";
worksheet.Cells[2, 1] = ":GROUP No.";
worksheet.Cells[3, 1] = ":GROUP NAME";
worksheet.Cells[4, 1] = "ITEM NAME";
worksheet.Cells[1, 2] = DATE;
worksheet.Cells[2, 2] = "1";
worksheet.Cells[3, 2] = "essai";
worksheet.Cells[4, 2] = "VALUE";

cellRowIndex = 5;

#region variateur1
if (Variateur1.index != 0)
{
cellColumnIndex = 2;
for (int i = 1; i <= 50; i++)
{
if (Variateur1.tab_seq[99 + i] == 0)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = 0;
}
else
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = i;
}
cellRowIndex = cellRowIndex + 1;
}
for (int i = 0; i <= 49; i++)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = Variateur1.tab_seq[b + i];
cellRowIndex = cellRowIndex + 1;
}
for (int i = 0; i <= 49; i++)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = Variateur1.tab_seq[c + i];
cellRowIndex = cellRowIndex + 1;
}
for (int i = 0; i <= 49; i++)
{
if (i == 49)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = Variateur1.NbMaille;
}
else
{
if (option.mmrack1 == 1)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = Variateur1.tab_seq[d + i];
}
else if (option.maillecm1 == 1)
{
worksheet.Cells[cellRowIndex, cellColumnIndex] = Variateur1.tabf_seq[d + i] * 100;
}
}
cellRowIndex = cellRowIndex + 1;
}
}
#endregion

//Getting the location and file name of the excel to save from user.
SaveFileDialog saveDialog = new SaveFileDialog();
saveDialog.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*";
saveDialog.FilterIndex = 2;

if (saveDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
workbook.SaveAs(saveDialog.FileName);
MessageBox.Show("Export Successful");
}
}
catch (System.Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
excel.Quit();
workbook = null;
excel = null;
}
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931
7 juin 2016 à 13:39
Le code que tu montres est fait pour construire un xls, et non un csv.
Je suis à peu près sur, sans l'avoir testé, qu'en changeant l'extension ça va marcher.
0
thibaugosse Messages postés 9 Date d'inscription mardi 7 juin 2016 Statut Membre Dernière intervention 13 juin 2016
7 juin 2016 à 13:47
Oui par défaut cela construit un xls mais étant débutant c'est un code que j'ai trouvé sur internet et que j'ai modifié à ma sauce, le fait de mettre saveDialog.Filter = "CSV files (*.csv)|*.csv|All files (*.*)|*.*"; ne produit pas du vrai csv alors ? Quand tu dit changer l'extension c'est changer le code entier pour un autre fait pour le csv ou alors juste changer quelques lignes ?
0
Whismeril Messages postés 19027 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 24 avril 2024 931
7 juin 2016 à 18:12
Xls est un binaire, spécifique aux version d'excel avant 2007.

Csv est un fichier texte ascii, avec un formatage définit, et qui n'a rien à voir avec Excel. Par contre excel sait l'importe ou l'exporter.

Ce sont deux fichiers très différents.

Si tu prends un fichier xls, que tu modifies son extension à la main, en csv, et que tu essayes de l'ouvrir avec notepad ou même excel, tu auras ce type de résultat.

C'est ce que tu fais dans ton code. Donc Pour que ce code fonctionne, le filtre ne peut être que *.xls.

Comme ton titre est
Exporter des données à un fichier excel
.
Cela solutionne ta question
0