You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB.NET中写入带双引号的CSV文件

VB.NET实现带双引号的CSV输出方案

问题分析

你的代码当前输出不带双引号的原因是String.Format的格式字符串未包含双引号,同时原代码存在语法错误(wr.WriteLine的括号不匹配),需要一并修正。

实现方案

方案1:直接修改String.Format格式字符串

在VB.NET中,字符串内的双引号需要用两个连续双引号进行转义。修改格式字符串,为每个占位符前后添加双引号即可:

Dim A As String
Dim B As String
Dim C As String
A = "GST"
B = "B2B"
C = "N"

Using wr As New StreamWriter("D:\test.txt") ' 建议使用Using语句自动释放资源
    ' 格式字符串中用""表示一个实际的"
    wr.WriteLine(String.Format("""{0}"",""{1}"",""{2}""", A, B, C))
    wr.Flush()
End Using

方案2:使用String.Join简化拼接

如果后续需要处理更多字段,用String.Join更简洁,先给每个字段包裹双引号,再用逗号连接:

Dim A As String = "GST"
Dim B As String = "B2B"
Dim C As String = "N"

' 先给每个值添加双引号,再用逗号拼接
Dim outputLine As String = String.Join(",", $" ""{A}"" ", $" ""{B}"" ", $" ""{C}"" ").Replace(" ", "") ' 去掉多余空格
Using wr As New StreamWriter("D:\test.txt")
    wr.WriteLine(outputLine)
    wr.Flush()
End Using

方案3:LINQ批量处理(适合多字段场景)

如果有多个字段存储在集合中,用LINQ可以快速批量添加双引号:

Dim fields As List(Of String) = New List(Of String) From {"GST", "B2B", "N"}
Dim outputLine As String = String.Join(",", fields.Select(Function(f) $" ""{f}"" ").ToArray()).Replace(" ", "")

Using wr As New StreamWriter("D:\test.txt")
    wr.WriteLine(outputLine)
    wr.Flush()
End Using

说明

  • VB.NET中字符串内的双引号必须用""转义,否则会被视为字符串的结束标记。
  • 建议使用Using语句创建StreamWriter,它会在代码块结束后自动释放文件资源,避免资源泄漏。
  • 修正了原代码中wr.WriteLine(String.Format(...))缺少右括号的语法错误。

内容的提问来源于stack exchange,提问作者Sahiwala Software

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 19:38:21