Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将ListView导出为Excel格式_C#_Excel_Listview_Export To Excel - Fatal编程技术网

C# 将ListView导出为Excel格式

C# 将ListView导出为Excel格式,c#,excel,listview,export-to-excel,C#,Excel,Listview,Export To Excel,我有一个列表视图,在填充它之后,它将如下所示: 我已经可以使用以下代码将其导出为CSV格式的文件: StringBuilder sb = new StringBuilder(); //Making columns! foreach (ColumnHeader ch in lvCnt.Columns) { sb.Append(ch.Text + ","); } sb.AppendLine(); //Looping through items and subite

我有一个
列表视图
,在填充它之后,它将如下所示:

我已经可以使用以下代码将其导出为CSV格式的文件:

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();
}
但问题是,在CSV中,我无法导出
列表视图
项和子项的背景色,这在我的例子中非常重要。如果你能帮我做这件事,或者至少给我指出正确的方向,那就太好了

更新

我设法找到了一种直接导出到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++;
        }
}

这似乎是一个非常容易导出数据的项目:

它有一些示例显示如何设置背景颜色和其他格式项


您已经有了代码来循环遍历标题和行,因此您应该能够使用它

谢谢,它似乎是用于web应用程序,我希望它用于winfroms,因为我目前没有访问visual studio的权限,您认为它是否可以以某种方式用于winforms?是的,这与网站项目无关。下载中包含一个用于导出文件的示例控制台模式项目。谢谢,这是一个很棒的库