如何将listview中的数据保存到文本文件中

时间:2011-11-07 13:31:36

标签: c# .net winforms listview

所以我知道这已被问到,但我有点挣扎。我有一个基本的Windows窗体程序,它将4个值存储到一个数组,然后在列表视图中显示它。但现在我有一个额外的按钮,如果我点击它,我只是希望它保存存储的值并将其导出到文本文件。 直接从阵列中导出它会更容易吗?我怎么能这样做?

提前致谢。

4 个答案:

答案 0 :(得分:3)

File.WriteAllLines(path, array, Encoding.UTF8);

答案 1 :(得分:1)

using (TextWriter tw = new StreamWriter(@"C:\listViewContent.txt")) {
    foreach (ListViewItem item in listView.Items) {
        tw.WriteLine(item.Text);
    }
}

答案 2 :(得分:1)

只是有人仍然需要它,这只是一个彻底的版本@othiel回答子项目

        try
        {
            using (System.IO.TextWriter tw = new System.IO.StreamWriter(@"C:\listViewContent.txt"))
            {
                foreach (ListViewItem item in listView1.Items)
                {
                    tw.WriteLine(item.Text);
                    for (int a = 1; a <= 3; a++ ) //the 3 = number of subitems in a listview 
                    {
                        tw.WriteLine(item.SubItems[a].Text);
                    }
                }
            }
        }
        catch {
            MessageBox.Show("TEXT FILE NOT FOUND");
        }

只需确保详细设置listView1。

答案 3 :(得分:0)

现在,用花哨的保存文件对话框! :)

    private void saveButton_Click(object sender, EventArgs e)
    {
        Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
        dlg.FileName = "DumpFile1"; // Default file name
        dlg.DefaultExt = ".txt"; // Default file extension
        dlg.Filter = "Text files (.txt)|*.txt"; // Filter files by extension

        // Show save file dialog box
        Nullable<bool> result = dlg.ShowDialog();

        // Process save file dialog box results
        if (result == true)
        {
            // Save document
            string filename = dlg.FileName;

            File.WriteAllLines(filename, array, Encoding.UTF8); //array is your array of strings
        }
    }

您需要 PresentationFramework 添加参考。 (右键单击解决方案资源管理器中的引用 - &gt; 添加引用,在 .NET 选项卡中选择 PresentationFramework