我要为第三方上传编写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()
答案 0 :(得分:2)
_csvLine.WriteLine
附加一行,改为使用Write()。
tb.AppendLine()
添加第二行,尝试在最后一行避免使用它。
答案 1 :(得分:0)
你正在做_csvLine.WriteLine(
,它会在文件的末尾添加一个换行符。