2010-05-01 8 views
1

Je datatable et j'afficher ces valeurs dans le datagridview avec Helping de code:Stockage des enregistrements dans le fichier csv de datatable

dataGridView1.ColumnCount = TableWithOnlyFixedColumns.Columns.Count; 
    dataGridView1.RowCount = TableWithOnlyFixedColumns.Rows.Count; 
    for (int i = 0; i < dataGridView1.RowCount; i++) 
    { 
     for (int j = 0; j < dataGridView1.ColumnCount; j++) 
     { 
      dataGridView1[j, i].Value = TableWithOnlyFixedColumns.Rows[i][j].ToString(); 
     } 
    } 
    TableExtractedFromFile.Clear(); 
    TableWithOnlyFixedColumns.Clear(); 

Maintenant, je veux sauvegarder les enregistrements dans le datatable dans le fichier csv. Comment puis je faire ça ?

Répondre

1

Vous pouvez le faire:

// we'll use these to check for rows with nulls 
var columns = yourTable.Columns 
    .Cast<DataColumn>(); 

// say the column you want to sort by is called "Date" 
var rows = yourTable.Select("", "Date ASC"); // or "Date DESC" 

using (var writer = new StreamWriter(yourPath)) { 
    for (int i = 0; i < rows.Length; i++) { 
     DataRow row = rows[i]; 

     // check for any null cells 
     if (columns.Any(column => row.IsNull(column))) 
      continue; 

     string[] textCells = row.ItemArray 
      .Select(cell => cell.ToString()) // may need to pick a text qualifier here 
      .ToArray(); 

     // check for non-null but EMPTY cells 
     if (textCells.Any(text => string.IsNullOrEmpty(text))) 
      continue; 

     writer.WriteLine(string.Join(",", textCells)); 
    } 
} 
+0

Tao @ Dan, En cas de valeur nulle ou rien du tout (chaîne vide), alors ne devrait pas être conservé cette ligne entière dans csv file.How puis-je faire? – Harikrishna

+0

@Harikrishna: J'ai mis à jour le code avec une suggestion sur la façon dont vous pourriez faire cela. –

+0

@Dan Tao, Merci .. + 1 Pour la Grande Réponse ... – Harikrishna

Questions connexes