如何从C#控制台应用程序导出csv文件中的数据?

时间:2019-01-09 09:35:11

标签: c# export-to-csv

我想从c#控制台应用程序中提取CSV文件中变量的值。

变量具有无限值,就像流结束时变量值也来自流的位置值一样。我在互联网上看到了很多例子,但没有一个回答我的问题。

这是我发现的东西。

var file = @"C:\SavedBTData.csv";

using (var stream = File.AppendText(file))
{
    for (int i = 0; i < ToBT.Count(); i++)
    {
        BTdata[i] = ToBT[i].ToString();

    }
    string csvRow = string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", BTdata[0], BTdata[1], BTdata[2], BTdata[3], BTdata[4], BTdata[5], BTdata[6], BTdata[7]);

    stream.WriteLine(csvRow);
}

但是在这里,在字符串csvRow行中...。我不知道我从那个变量中得到了多少值,而且我不得不将数据保存在仅一列中。

有可能的建议的人。

2 个答案:

答案 0 :(得分:2)

使用this issue方法合并数组的所有值:

string csvRow = string.Join(",", BTdata);

此外,您无需将所有内容都转换为字符串:

string csvRow = string.Join(",", ToBT);

答案 1 :(得分:0)

       var file = @"D:\\awaisFile.csv";
        using (var stream = File.AppendText(file))
        {
            /* initialize elements of array n */
            for (i = 0; i < num1.Count(); i++)
            {
                Console.Write("Enter value of 'num1'");
                Console.WriteLine(i + 1);
                num1[i] = int.Parse(Console.ReadLine());
                temp1[i] = num1[i].ToString();

                Console.Write("Enter value of 'num2'");
                Console.WriteLine(i + 1);
                num2[i] = int.Parse(Console.ReadLine());
                temp2[i] = num2[i].ToString();

                res[i] = multiplyNum(num1[i], num2[i]);

                Console.WriteLine("Element1[{0}] = {1}", i, res[i]);
                temp3[i] = res[i].ToString();

                string csvRow = string.Format("{0},{1},{2}", temp1[i], temp2[i], temp3[i]);

                stream.WriteLine(csvRow);

            }

        }

我用这种方式,对我来说很好用。