c# - 将 ListView 导出为 Excel 格式

标签 c# excel listview export-to-excel

我有一个 ListView,在填充它之后,它看起来像这样:

enter image description here

我已经可以使用以下代码将其导出为 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 中,我无法导出 ListView 项和子项的背景色,这在我的例子中非常重要。如果您能帮我解决这个问题,或者至少为我指明正确的方向,那就太好了!

更新

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

最佳答案

看起来这是一个非常容易导出数据的项目:

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

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

关于c# - 将 ListView 导出为 Excel 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8312239/

相关文章:

excel - 计算 Dax 中的方差和方差%

c# - 在 C# 中将 Excel 工作表的内容写入控制台时,输出不是人类可读的格式

ListView 行中的 Android 图库

android - 滚动 ListView 变化

c# - 当字符串字段值为空格时 XMLSerializer 中的问题

c# - Datastax Cassandra c# 驱动程序不通过批处理插入数据

c# - 读取xml文件的多个子节点

c# - 对象初始值设定项、非公共(public)子项和嵌套初始化

python - 如何使用Python中的openpyxl在现有Excel工作表中设置事件页眉/页脚类型?

wpf - 如何访问 ListViewItem?