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

VB.NET实现批量选中三个文本文件同步加载至三个DataGridView

解决VB.NET批量加载三个文本文件到对应DataGridView的问题

原代码存在的问题

  • 未开启OpenFileDialog的多选功能,只能选择单个文件
  • 将单个文件的内容重复添加到三个DataGridView,无法实现“分别加载”的需求
  • 未处理选中文件数量不等于3的异常情况
  • 未过滤读取文件时的空白行,可能导致DataGridView出现无效空行

修正后的实现代码

Private Sub PictureBox1_Click_1(sender As Object, e As EventArgs) Handles PictureBox1.Click
    ' 配置文件选择对话框支持多选
    OpenFileDialog1.Multiselect = True
    ' 设置仅显示文本文件
    OpenFileDialog1.Filter = "文本文件 (*.txt)|*.txt"

    If OpenFileDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
        ' 校验选中文件数量是否为3
        If OpenFileDialog1.FileNames.Length <> 3 Then
            MessageBox.Show("请选择恰好3个文本文件!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            Return
        End If

        ' 清空所有DataGridView现有内容
        DataGridView1.Rows.Clear()
        DataGridView2.Rows.Clear()
        DataGridView3.Rows.Clear()

        ' 分别加载三个文件到对应DataGridView
        LoadTextFileToDataGridView(OpenFileDialog1.FileNames(0), DataGridView1)
        LoadTextFileToDataGridView(OpenFileDialog1.FileNames(1), DataGridView2)
        LoadTextFileToDataGridView(OpenFileDialog1.FileNames(2), DataGridView3)
    End If
End Sub

' 封装文本文件加载到DataGridView的通用方法
Private Sub LoadTextFileToDataGridView(filePath As String, dgv As DataGridView)
    Try
        ' 读取文件所有行,自动适配不同系统的换行符
        Dim lines As String() = System.IO.File.ReadAllLines(filePath)
        
        For Each line As String In lines
            ' 跳过空白行
            If String.IsNullOrWhiteSpace(line) Then Continue For
            
            ' 按制表符分割行内容
            Dim columns As String() = line.Split(ControlChars.Tab)
            ' 将分割后的内容添加到DataGridView
            dgv.Rows.Add(columns)
        Next
    Catch ex As Exception
        MessageBox.Show($"加载文件失败:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
End Sub

代码说明

  • 开启多选功能:通过OpenFileDialog1.Multiselect = True允许一次性选择多个文件
  • 数量校验:提前判断选中文件数量,避免不符合需求的操作
  • 通用加载方法:把文件加载逻辑封装成独立方法,减少重复代码,方便后续维护
  • 异常处理:捕获文件读取时的异常,给出明确的错误提示
  • 空白行过滤:跳过文件中的空白行,避免DataGridView出现无效空行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:39:57