将数据导出为CSV格式

时间:2009-09-26 11:59:13

标签: vb.net

我正在使用四个for循环来执行一个VB程序,使用以下代码生成一组数字.....

 For sphere = 1 To 10
        For cylinder = 2 To 20
            For axis = 3 To 30
                For add = 4 To 40
                   Console.WriteLine("{0} , {1},{2},{3} ", _
                       sphere, cylinder, axis, add)
                Next add
            Next axis
        Next cylinder
    Next sphere

我需要将此程序的输出导出为CSV格式......   任何人都可以给我一个合适的代码来帮助我.......

3 个答案:

答案 0 :(得分:7)

CSV格式只是一个包含行的文本文件,每行包含以逗号分隔的数据值记录。

最简单的方法是从命令行调用应用程序,并使用>运算符将标准输出重定向到命令行。这样,您根本不需要更改任何代码。

如果出于某种原因,您无法重定向标准输出,则Microsoft已an example on how to read from and write to a file using Visual Basic 2005

我对Visual Basic并不熟悉,但您的代码可能看起来像这样:

Dim objStreamWriter As StreamWriter

objStreamWriter = New StreamWriter("output.txt", True, Encoding.Unicode)

For sphere = 1 To 10
    For cylinder = 2 To 20
        For axis = 3 To 30
            For add = 4 To 40
                objStreamWriter.WriteLine("{0},{1},{2},{3}", sphere, cylinder, axis, add)
                Next add
        Next axis
    Next cylinder
Next sphere

objStreamWriter.Close()

请注意,上面的代码尚未编译,测试更少。我刚刚做了一个例子来向您展示您的代码应该是什么样子来解决这个问题。

答案 1 :(得分:2)

看起来该代码已生成CSV输出。因此,如果这是一个控制台应用程序的一个选项,将输出重定向到文件?从命令提示符......

myProgThatGeneratesNumbers.exe > outputfile.csv

如果您确实想以编程方式执行此操作,请打开一个流并写出来。

答案 2 :(得分:0)

我会使用System.IO.StreamWriter来编写文件。