2016-04-27 68 views
0

我正在WPF c#解決方案中工作,我想使用LinqToCsv爲我的listview中的每個項目編寫一個CSV文件,CSV將填充字段從數據庫。我沒有找到解決方案,現在我的代碼生成一個CSV文件,包括所有數據,而不是每個項目的數據。 這裏是我的代碼和我的listview的屏幕,如果有人可以幫助我! http://imgur.com/HmOmIjN生成一個CSV文件foreach項目,並將其列在此列表視圖

private void Rechercher_btn(object sender, RoutedEventArgs e) 
    { 
     TOPSAGEEntities db = new TOPSAGEEntities(); 

     var query = from fournisseur in db.F_COMPTET 
        join email in db.F_ECHEANCES on fournisseur.CT_Intitule equals email.ECH_Intitule 
        //where email.cbModification.ToString().Contains(DatePicker.Text) 
        select new { fournisseur = email.ECH_Intitule, email = fournisseur.CT_EMail, date = email.cbModification}; 

     var infoEcheances = from i in db.F_ECHEANCES 
          select new {i.ECH_DateEch, i.CG_Num, i.ECH_Piece, i.ECH_RefPiece, i.ECH_Montant, i.ECH_Libelle}; 



     CsvFileDescription outpCsvFileDescription = new CsvFileDescription 
     { 
      SeparatorChar = ',', 
      FirstLineHasColumnNames = true 
     }; 

     CsvContext cc = new CsvContext(); 
     string myPath = @"C:\Users\DefaultAccount\Desktop\Projet Top Of Travel\FichiersCSV\"; 
     string finalPath = myPath + "test.csv"; 

     ArrayList myList = new ArrayList(listView.Items); 

     foreach (var list in myList) 
     { 
      cc.Write(infoEcheances, finalPath, outpCsvFileDescription); 
     } 

     //MessageBox.Show(DatePicker.SelectedDate.ToString()); 
     listView.DataContext = query.ToList().Distinct(); 
    } 
+0

我建議你使用像' 「%USERPROFILE%\桌面\謨熱門旅遊\ FichiersCSV \」'路徑其中'%userprofile%'將成爲用戶文件夾的參數而不是DefaultAccount。 –

回答

0

移動ccmyPathfinalPathforeach

CsvFileDescription outpCsvFileDescription = new CsvFileDescription 
{ 
    SeparatorChar = ',', 
    FirstLineHasColumnNames = true 
}; 

ArrayList myList = new ArrayList(listView.Items); 
int counter = 1; 

foreach (var list in myList) 
{ 
    CsvContext cc = new CsvContext(); 
    string myPath = @"C:\Users\DefaultAccount\Desktop\Projet Top Of Travel\FichiersCSV\"; 
    string filename = string.Format("test{0}.csv", counter); 
    string finalPath = System.IO.Path.Combine(myPath, filename); 

    cc.Write(infoEcheances, finalPath, outpCsvFileDescription); 

    counter++; 
} 
+0

我得到了一個錯誤的路徑這是System.Windows.Shapes.Path和System.IO.Path之間的模糊引用 –

+0

它的System.IO.Path(我們正在處理文件系統上的路徑,而不是繪製任何形狀:)) 。我編輯了答案。 – Nino

相關問題