将winform数据导出到.txt文件

时间:2010-05-17 19:40:24

标签: c# export streamwriter

我有一个带有两个数据网格和多个文本框的winform。我想让用户可以选择将这些数据导出到他们在驱动器上选择的位置的文本文档中。我还希望预先格式化文本文档,并插入文本框和数据网格中的值。

是否可以使用StreamWriter预格式化txt文档?如何为用户提供保存此导出文件的位置选项?

2 个答案:

答案 0 :(得分:2)

您必须格式化要通过StreamWriter写入的字符串。

using(StreamWriter sw = new StreamWriter(filePath)) {
    string firstLine = string.Concat("\n", string.Format(@"Customer number: {0}, Customer name: {1}", textBox1.Text, textBox2.Text));
    string secondLine = string.Format(@"Address: {0}", textBox3.Text);

    sw.WriteLine(firstLine);
    sw.WriteLine(secondLine);

    // Loop through your DataGridView.Rows or Cells and do the same.

    sw.Flush();
    sw.Close();
}

输出到文件

客户编号:[12345678]客户名称:[客户名称]
地址:[地址]

方括号内的信息是用户通过TextBox输入的信息。

答案 1 :(得分:1)

通过预先格式化文本文档,我并不完全确定你的意思。 StreamWriter可用于以您指定数据的任何格式写出。它实际上将归结为您如何向StreamWriter提供数据。例如,如果您希望网格行显示为csv,则每个输出项目,添加逗号(最后一个元素除外),然后在最后一个元素写入新行之后,对所有行重复。如果我遗失了什么,请告诉我。

至于如何为用户提供保存位置的选项,您应该使用SaveFileDialog控件(它应该在Visual Studio的工具箱中)。这将打开浏览器视图,允许用户选择位置和名称)。有关如何实际使用该类的详细信息,请参阅链接的文档。这是相当直接的