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

VB.NET导入CSV到ListView时无需修改原文件删除双引号的实现方法

解决方案

你只需要在分割CSV每行内容后,对每个字段的双引号做全局替换即可,不需要修改原始CSV文件,修改后的完整实现代码如下:

Dim CSVTest As New List(Of String)
ListView1.Clear()

' 打开文件选择窗口
Dim result As DialogResult = OpenFileDialog1.ShowDialog()

' 判断文件是否成功导入
If result = Windows.Forms.DialogResult.OK Then
    ' 获取选中的文件路径
    Dim CSVFile As String = OpenFileDialog1.FileName
    ' 读取文件所有行到列表
    CSVTest = File.ReadAllLines(CSVFile).ToList


    ' 添加数据表头
    Dim ColNames As List(Of ColumnHeader) = New List(Of ColumnHeader)
    ' 分割表头行,同时去掉每个字段的双引号
    Dim ColumnArray() As String = CSVTest(0).Split(";").Select(Function(s) s.Replace("""", "")).ToArray()

    For i = 0 To ColumnArray.Count - 1
        ColNames.Add(New ColumnHeader)
        ColNames(i).Name = ColumnArray(i)
        ColNames(i).Text = ColumnArray(i)
    Next
    ListView1.Columns.AddRange(ColNames.ToArray)

    ' 添加数据行
    For I = 1 To CSVTest.Count - 1
        ' 分割数据行,同时去掉每个字段的双引号
        Dim col() As String = CSVTest(I).Split(";").Select(Function(s) s.Replace("""", "")).ToArray()
        Dim NewLVItem As ListViewItem = New ListViewItem(col(0))
        NewLVItem.Name = col(0)
        For j = 1 To col.Count - 1
            NewLVItem.SubItems.Add(col(j))
        Next
        ListView1.Items.Add(NewLVItem)
    Next
End If

修改说明

  • 对表头行分割后的每个字段增加了Replace("""", "")操作,直接删除字段中包含的所有双引号
  • 对普通数据行分割后的每个字段也做了相同的双引号删除处理
  • 所有修改都在内存中完成,不会对原始CSV文件产生任何改动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 19:57:02