C#如何在WPF中将ListView导出到.CSV?

Jes*_*son 1 c# csv wpf

如何在WPF中将ListView(填充sqlite)导出到.CSV?我可以在winforms上完成,但不能在wpf中执行..请帮助.提前致谢.

在此输入图像描述

Erw*_*win 5

将ListView转换为Datatable:

var listView1 = new ListView();
DataTable table = new DataTable();
foreach (ListViewItem item in listView1.Items)
{
    table.Columns.Add(item.ToString());
    foreach (var it in item.SubItems)
         table.Rows.Add(it.ToString());
 }
Run Code Online (Sandbox Code Playgroud)

使用以下代码制作csv:

public void CreateCSVFile(DataTable dt, string strFilePath)
{
    StreamWriter sw = new StreamWriter(strFilePath, false);

    int iColCount = dt.Columns.Count;
    for (int i = 0; i < iColCount; i++)
    {
        sw.Write(dt.Columns[i]);
        if (i < iColCount - 1)
        {
            sw.Write(",");
        }
    }
    sw.Write(sw.NewLine);

    foreach (DataRow dr in dt.Rows)
    {
        for (int i = 0; i < iColCount; i++)
        {
            if (!Convert.IsDBNull(dr[i]))
            {
                sw.Write(dr[i].ToString());
            }
            if (i < iColCount - 1)
            {
                sw.Write(",");
            }
        }
        sw.Write(sw.NewLine);
    }
    sw.Close();
}
Run Code Online (Sandbox Code Playgroud)