【发布时间】: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