2

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

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

4

2 回答 2

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] 客户名称:[客户名称]
地址:[地址]

其中方括号之间的信息是用户通过TextBoxes输入的信息。

于 2010-05-17T20:16:56.537 回答
1

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

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

于 2010-05-17T19:52:41.427 回答