2011-11-29 104 views
8

我有填充它後ListView至極,看起來就像這樣:導出一個ListView爲Excel格式

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

我已經可以使用下面的代碼將其導出爲CSV格式的文件

但問題是,在CSV中,我不能導出ListView項目和子項目的背景顏色,在我的情況下它是非常重要的。如果你能幫助我或者至少讓我走向正確的方向,那會很好!

UPDATE

我設法找到一種方法來直接導出到Excel,但我還是可以的ListView的項目的背景顏色無法導出到Excel中。請幫忙!

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++; 
     } 
} 

回答

6

看起來這是一個非常簡單的項目,以將您的數據導出:

它有例子,說明如何設置背景顏色和其他格式的項目。

你已經有了你的代碼循環通過頭和行,所以你應該能夠使用它!

+0

感謝,似乎是爲web應用程序,我想它爲winfroms,因爲我目前沒有訪問視覺工作室,你認爲它可以以某種方式爲winforms工作? –

+0

是的,這不是綁定到一個網站項目。下載中包含用於導出文件的示例控制檯模式項目。 – rtpHarry

+0

感謝這是一個偉大的圖書館 –