Le petit code suivant est un exemple de code que l’on peut insérer dans une Windows Form C#. En l’occurrence, le click sur le bouton ouvre une fenêtre parcourir et charge le fichier csv dans une liste d’objet de type MyEntite.
Remarque avant de lire :
txt_splitParam.Text : est une zone de saisie permettant de définir le caractère de split
Chk_SkipFirstLine : permet de spécifier si’lon souhaite ne pas lire la première ligne du csv
openFileDialogImportData : Contrôle openFileDialog
/// <summary>
/// Provoque l'ouverture d'une openFileDialog et de choisir le fichier à charger
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Btn_Parcourir_Click(object sender, EventArgs e)
{
openFileDialogImportData.Title = "Chargement";
//Extension par défaut
openFileDialogImportData.DefaultExt = "csv";
//Filtres
openFileDialogImportData.Filter = "fichiers textes (*.csv)|*.csv|Tous les fichiers (*.*)|*.*";
openFileDialogImportData.FilterIndex = 1;
//Ouverture boite de dialogue OpenFile
if (openFileDialogImportData.ShowDialog(this) == DialogResult.OK)
{
//Ouverture du fichier sélectionné
//son nom est dans openFileDialogImportData.FileName
try
{
//Select les lignes du csv, le skip permet de sauter les noms de colonnes
int l_ToSkip = 0;
if (Chk_SkipFirstLine.Checked)
l_ToSkip = 1;
l_LstImportData = (
from line in File.ReadAllLines(openFileDialogImportData.FileName).Skip(l_ToSkip)
let x = Regex.Split(line, txt_splitParam.Text)
where x. … ce que vous voulez
)
select new Entity.MyEntite
{
MaProp = x[1], x[1] étant une colonne du csv
……
}).ToList();
btn_importNew.Enabled = true;
}
catch (Exception ex)
{
MessageBox.Show(string.Format("Exception Message: {0}", ex.Message));
}
finally
{
//TODO : Finally do something if necessary
}
}
}
Aucun commentaire:
Enregistrer un commentaire