【问题标题】:Exporting a ListView to Excel format将 ListView 导出为 Excel 格式
【发布时间】:2020-08-13 01:27:00
【问题描述】:

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

我已经可以使用以下代码将其导出为 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# excel listview export-to-excel


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢,好像是用于网络应用程序的,我想要它用于 winfroms,由于我目前无法访问 Visual Studio,您认为它可以以某种方式用于 winforms 吗?
    • 是的,这与网站项目无关。下载中包含用于导出文件的示例控制台模式项目。
    • 感谢这是一个很棒的图书馆
    猜你喜欢
    • 2018-04-18
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 2023-01-05
    • 2012-05-16
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多