c#书写/阅读CSV

时间:2013-05-22 21:49:46

标签: c# csv

我正在使用C#编写程序。使用此程序,我打算将值从文本框写入CSV文件。这虽然有效。只有粘贴在一起的值如下:

hellobye|
hello (TextBox1)
bye (TextBox2)

如何让他们总是换上新的路线?我已经尝试过Environment.NewLine,但没有开始工作。

到目前为止,这是我的代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;


namespace test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Length != 0)
            {
                String input = textBox1.Text + textBox2.Text;
                string[] lines = {input  + "|" };
                System.IO.File.AppendAllLines(@"c:\output.csv", lines);
                textBox1.Clear();
                textBox2.Clear();
            }

          }
    }
}

3 个答案:

答案 0 :(得分:1)

您可以使用StreamWriter.WriteLine方法使用示例:

using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to. 
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from. 
        using (StreamReader sr = File.OpenText(path))
        {
            string s = "";
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}

答案 1 :(得分:0)

这是你的问题:

String input = textBox1.Text + textBox2.Text;

您将两个文本框的内容合并为一个单词,之后系统无法再判断一个单词的结束位置和下一个单词的开始位置。

答案 2 :(得分:0)

所以,如果我是正确的,你当前的输出是“hellobye |”

但你想要它 你好 再见

因此,如果您要创建csv,则需要使用逗号分隔元素,然后为行插入换行符。因此,快速控制台应用程序看起来像这样:

    static void Main(string[] args)
    {
        string string1 = "hello";
        string string2 = "bye";

        string[] lines =
            {
                string1 + 
                Environment.NewLine + 
                string2
            };

        System.IO.File.AppendAllLines(@"c:\output.csv", lines);
    }

string1& string2只是作为文本框的输出