none
Como copiar de un archivo xlsx y pegar en Listbox? RRS feed

  • Pregunta

  • Hola,

    Agradecería que me puedan ayudar en el siguiente escenario;

    necesito copiar de un archivo excel una columna con varios datos y poder pegarlos en un listbox

    ejemplo:

    hoja excel

    poder pegar la seleccion anterior en el control Listbox

    atento a sus comentarios y sugerencias

    saludos


    Mauricio Hernández A.

    lunes, 6 de mayo de 2013 22:28

Respuestas

  • Gracias por las sugerencias!

    Lo resolví de la siguiente forma:

    - agregue un menú contextual (ContextMenuStrip1) y edite un menu con el nombre de pegar luego puse el codigo de abajo y listo, recorro los datos contenidos en el portapapeles y voy creando cada uno de los items del listbox

        'pegar valores
        Private Sub PegarItemsToolStripMenuItem_Click(...) Handles PegarItemsToolStripMenuItem.Click
            Dim words As String() = Clipboard.GetText.Split(vbCrLf)
            For Each word As String In words
                lstItem.Items.Add(word.Trim())
            Next
        End Sub

    Saludos!


    Mauricio Hernández A.

    martes, 7 de mayo de 2013 14:42

Todas las respuestas

  • Hola:
    En un Form con 1 ListBox y 1 Button, copia y pega el siguiente codigo

    Imports System.Data.OleDb

    Public Class Form1
        Private lsCadConexionExcel As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\TU_CARPETA\TU_FICHERO_EXCEL.xlsx;Extended Properties='Excel 12.0 Xml;HDR=Yes'"

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Me.Button1.Enabled = False
            Dim loDataTable As New DataTable("TEMPORAL")
            Try
                Using loConexion As New OleDbConnection(lsCadConexionExcel)
                    Dim lsQuery As String = "Select [TU_CAMPO] From [Libro1$]"
                    Dim loDataAdapter As New OleDbDataAdapter(lsQuery, loConexion)
                    'Cargar el Datatable con el fichero XLS
                    loDataAdapter.Fill(loDataTable)
                    Me.ListBox1.DataSource = loDataTable
                    Me.ListBox1.DisplayMember = "TU_CAMPO"
                End Using
            Catch ex As Exception
                Me.Cursor = Cursors.Default
                MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try
        End Sub
    End Class

    Un saludo desde Bilbo
    Carlos

    martes, 7 de mayo de 2013 7:39
  • Gracias por las sugerencias!

    Lo resolví de la siguiente forma:

    - agregue un menú contextual (ContextMenuStrip1) y edite un menu con el nombre de pegar luego puse el codigo de abajo y listo, recorro los datos contenidos en el portapapeles y voy creando cada uno de los items del listbox

        'pegar valores
        Private Sub PegarItemsToolStripMenuItem_Click(...) Handles PegarItemsToolStripMenuItem.Click
            Dim words As String() = Clipboard.GetText.Split(vbCrLf)
            For Each word As String In words
                lstItem.Items.Add(word.Trim())
            Next
        End Sub

    Saludos!


    Mauricio Hernández A.

    martes, 7 de mayo de 2013 14:42
  • Hola Mauricio

    He podido ver que creaste un procedimiento para que con el boton izquierdo pudieras pegar los datos seleccionados de tu hoja de excel, yo tengo un ListView con 3 subitems ya los pude seleccionar pero no he podido darle la instruccion de copiar para pegarlos en una hoja de excel... te agradeceria me pudieras ayudar... gracias

    miércoles, 27 de noviembre de 2013 15:09