Exportieren Sie ein ListView-Steuerelement im Excel-format

Ich habe eine ListView wich, nach dem Auffüllen wird, wie folgt Aussehen:
Exportieren Sie ein ListView-Steuerelement im Excel-format

Ich kann schon exportieren, um eine CSV-formatierte Datei mit dem folgenden code:

 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();
}

Aber das problem ist, in der CSV kann ich nicht exportieren, wenn die Hintergrundfarbe der ListView Positionen und Unterpositionen, die in meinem Fall sehr wichtig sind. Wäre schön, wenn Sie mir dabei helfen oder wenigstens zeigen Sie mir die richtige Richtung!

UPDATE

Habe ich es geschafft, einen Weg zu finden, um den export direkt in Excel, aber ich kann immer noch nicht exportieren, wird die Hintergrundfarbe des ListView-Elemente in Excel. Bitte um Hilfe!!

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++;
        }
}
Schreibe einen Kommentar