写csv会增加额外的线条

时间:2012-11-02 19:14:38

标签: asp.net csv

我要为第三方上传编写csv。他们说他们无法读取创建的csv文件,因为它有两行额外的代码,并且不会在最后一行的最后一个字符上结束(在记事本中打开时)。这是真的 - 但有人可以告诉我为什么吗?

Dim _csvLine As New System.IO.StreamWriter(Server.MapPath("~/folder/_" & rptType.SelectedItem.Value.ToString & ".csv"), False)
Dim tb As New StringBuilder
Dim x As Integer = ds.Tables("csv").Columns.Count, y As Integer = 1
For Each row As Data.DataRow In ds.Tables("csv").Rows
    For Each col As Data.DataColumn In ds.Tables("csv").Columns
        If y <> x Then
            tb.Append(Trim(System.Text.RegularExpressions.Regex.Replace(row.Item(col).ToString, "\s+", " ", RegexOptions.IgnoreCase Or RegexOptions.Multiline)) & ",")
            y = y + 1
        Else
            tb.Append(Trim(System.Text.RegularExpressions.Regex.Replace(row.Item(col).ToString, "\s+", " ", RegexOptions.IgnoreCase Or RegexOptions.Multiline)))
            tb.AppendLine()
            y = 1
        End If
    Next
Next
_csvLine.WriteLine(Left(tb.ToString, Len(tb.ToString) - 2))
_csvLine.Flush()
_csvLine.Close()
_csvLine.Dispose()

2 个答案:

答案 0 :(得分:2)

_csvLine.WriteLine附加一行,改为使用Write()。 tb.AppendLine()添加第二行,尝试在最后一行避免使用它。

答案 1 :(得分:0)

你正在做_csvLine.WriteLine(,它会在文件的末尾添加一个换行符。