如何将数据从列表视图保存到文本文件

本文关键字:保存 文本 文件 视图 列表 数据 | 更新日期: 2023-09-27 18:13:38

我知道有人问过这个问题,但我有点纠结。我有一个基本的windows窗体程序,存储4值到一个数组,然后在列表视图中显示它。但现在我有了一个额外的按钮,如果我点击它,我只想让它保存存储的值,并导出到一个文本文件。直接从数组中导出会更简单吗?我该怎么做呢?

如何将数据从列表视图保存到文本文件

File.WriteAllLines(path, array, Encoding.UTF8);
using (TextWriter tw = new StreamWriter(@"C:'listViewContent.txt")) {
    foreach (ListViewItem item in listView.Items) {
        tw.WriteLine(item.Text);
    }
}

以防有人仍然需要它,这只是一个完整的版本@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

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

    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添加一个引用。(在解决方案资源管理器 -> 中右键单击References。. NET选项卡选择PresentationFramework)