2011-11-29 12 views
8

Excel biçimine bir ListView İhracat, bu gibi görünecektir:Bunu doldurma sonra <code>ListView</code> wich

StringBuilder sb = new StringBuilder(); 

//Making columns! 
foreach (ColumnHeader ch in lvCnt.Columns) 
{ 
    sb.Append(ch.Text + ","); 
} 

sb.AppendLine(); 


//Looping through items and subitems 
foreach (ListViewItem lvi in lvCnt.Items) 
{ 
    foreach (ListViewItem.ListViewSubItem lvs in lvi.SubItems) 
    { 
     if (lvs.Text.Trim() == string.Empty) 
      sb.Append(" ,"); 
     else 
      sb.Append(lvs.Text + ","); 
    } 
    sb.AppendLine(); 
} 
: enter image description here

Zaten aşağıdaki kodu kullanarak bir CSV biçimindeki dosyaya aktarabilirsiniz

Ancak sorun, CSV'de, benim durumumda çok önemli olan ListView öğelerin ve alt öğelerin arka rengini veremiyorum. Bana bu konuda yardımcı olabilirseniz ya da bana doğru yöne işaret ederse iyi olur!

GÜNCELLEME Excel'de doğrudan ihracat için bir yol bulmayı başardılar, ama yine de Excel'e ListView öğeleri arka plan rengini ihraç edilemez. Lütfen yardım et!

private void ToExcel() 
{ 
    Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application(); 
      app.Visible = true; 
    Microsoft.Office.Interop.Excel.Workbook wb = app.Workbooks.Add(1); 
    Microsoft.Office.Interop.Excel.Worksheet ws = (Microsoft.Office.Interop.Excel.Worksheet)wb.Worksheets[1]; 
     int i = 1; 
     int i2 = 1; 
     foreach (ListViewItem lvi in myList.Items) 
     { 
      i = 1; 
      foreach (ListViewItem.ListViewSubItem lvs in lvi.SubItems) 
      {     
       ws.Cells[i2, i] = lvs.Text; 
       i++; 
      } 
      i2++; 
     } 
} 

cevap

6

bununla veri vermek için çok kolay bir projedir gibi görünüyor:

It has arka plan renkleri ve diğer biçimlendirme öğelerini nasıl ayarlanacağını gösteren örnekler.

Başlıklar ve satırlar arasında geçiş yapmak için kodunuzu zaten almışsınız, böylece onunla çalışabilmeniz gerekir!

+0

Teşekkürler, öyle görünüyor ki web uygulamaları için, winfroms için istiyorum, Şu an görsel stüdyona erişimim olmadığı için, bir şekilde winforms için çalışabileceğini düşünüyor musunuz? –

+0

Evet, bu bir web sitesi projesine bağlı değil. Bir dosyayı dışa aktarmak için örnek bir konsol modu projesi indirmeye dahil edilmiştir. – rtpHarry

+0

Teşekkürler bu harika bir kütüphanedir –