将单元格从Excel粘贴到Datagridview VB.net

时间:2018-07-17 22:05:39

标签: excel vb.net datagridview

我有以下代码可用于在KeyDown事件下粘贴到我的datagridview中:

 If e.Control AndAlso e.KeyCode = Keys.V Then
        Try
            For Each line As String In Clipboard.GetText.Split(vbNewLine)
                If Not line.Trim.ToString = "" Then
                    Dim item() As String = line.Trim.Split(vbTab)
                    Me.Datagridview1.Rows.Add(item)
                End If
            Next

        Catch ex As Exception
            MessageBox.Show(ex.Message, My.Application.Info.Title, MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End If

粘贴数据效果很好,问题是当我将空白单元格粘贴到datagridview时,它会忽略某些空白并移动包含内容的单元格。

Example when i paste this:

            Column1 Column2 Column3 Column4
       Row1    a       b              d
       Row2            f       g

This is what i get:

            Column1 Column2 Column3 Column4
       Row1    a       b               d
       Row2    f       g

有人知道我可能在做错什么或如何改进我的代码吗?

1 个答案:

答案 0 :(得分:0)

更改此

Dim item() As String = line.Trim.Split(vbTab(0))

对此

Dim item() As String = line.Split(vbTab(0))

或者这,如果您想修剪单个单元格的内容,但这不是一个好主意

Dim item() As String = line.Split(vbTab(0)).Select(Function(X) X.Trim).ToArray

.Trim调用正在从行中剥离初始TAB并移动数据。

相关问题