Buscar en Google

Busca en Todo Vb-Net

Búsqueda personalizada

miércoles, 19 de junio de 2013

Exportar DataGridView a Microsoft Excel

Sencilla funcion para exportar un DataGridView a Microsoft excel

La presente función exporta el contenido de un datagridview a Excel, crear un archivo temporal y lo muestra al usuario, por lo tanto si no almacenas el documento en el entorno grafico de MS Excel, este no será recuperable

Antes debemos adicionar a nuestro proyecto las referencias necesarias (Interop.excel) dependiendo de la version instalada en tu computador.


Public Function GridAExcel(ByVal DGV As DataGridView) As Boolean

        'Creamos las variables

        Dim exApp As New Microsoft.Office.Interop.Excel.Application
        Dim exLibro As Microsoft.Office.Interop.Excel.Workbook
        Dim exHoja As Microsoft.Office.Interop.Excel.Worksheet

        Try

            exLibro = exApp.Workbooks.Add
            exHoja = exLibro.Worksheets.Add()

    ' ¿Cuantas columnas y cuantas filas?
            Dim NCol As Integer =
DGV.ColumnCount
            Dim NRow As Integer =
DGV.RowCount
    'recorremos todas las filas, y por cada fila todas las columnas
    'y vamos escribiendo.

          For i As Integer = 1 To NCol
            exHoja.Cells.Item(1, i)=
DGV.Columns(i-1).Name.ToString
          Next

          For Fila As Integer = 0 To NRow - 1
              For Col As Integer = 0 To NCol - 1
                exHoja.Cells.Item(Fila+2, Col+1)=

                DGV.Rows(Fila).Cells(Col).Value()
              Next

           Next

 
'Titulo en negrita, Alineado
            exHoja.Rows.Item(1).Font.Bold = 1
            exHoja.Rows.Item(1).HorizontalAlignment = 3
            exHoja.Columns.AutoFit()

'para visualizar el libro
            exApp.Application.Visible = True
            exHoja = Nothing
            exLibro = Nothing
            exApp = Nothing 



Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error al exportar a Excel")

    Return False
End Try
Return True
End Function


Luego basta con llamar la funcion anteriormente creada y adicionar como parametro el nombre de nuestro grid

GridAExcel(DtgridPacientes)

Y es todo...


miércoles, 5 de junio de 2013

Verificar si existe directorio, si no existe crearlo

Verificar si existe directorio, si no existe crearlo


El siguiente codigo, verifica si un directorio existe, si este no existe lo crea en el path seleccionado

Espacio de nombres necesario:
 
Imports System.IO


If Not Directory.Exists(VariableConPath) Then
   Directory.CreateDirectory(
VariableConPath)
End If



Aquí  un ejemplo con el directorio donde se ejecuta nuestra aplicacion y una carpeta dentro de esta

If Not Directory.Exists(Application.StartupPath & "\PDF") Then
   Directory.CreateDirectory(Application.StartupPath & "\PDF")
End If



jueves, 16 de mayo de 2013

Crear un teclado virtual(Virtual Keyboard)



Crear un teclado virtual(Virtual Keyboard) 


Con el auge de las nuevas tendencias a monitores y pantallas touch es necesario el desarrollo de apps que esten acorde a dicha tendencia.

 En esta ocacion veremos la forma de crear un teclado virtual adecuado a un monitor touch, el cual funcionara de manera independiente, lo que significa que podemos hacer la invocacion de nuestro teclado desde cualquier formulario de cualquier aplicacion donde se requiera, unicamente enviando el id de la ventana que lo invoca, eso para saber donde se enviara cada tecla pulsada.







Para invocar el teclado desde una aplicacion externa basta con

Identificamos cual es el proceso en ejecucion
Dim process As System.Diagnostics.Process = System.Diagnostics.Process.GetCurrentProcess

Adicionamos el valor a una variable
VariableParaKeyBoard = process.MainWindowHandle

Verificamos la existencia del ejecutable e iniciamos el proceso enviando la variable capturada anterioemnete como parametro
 If File.Exists("KB_.exe") Then
            Process.Start("KB_.exe", VariableParaKeyBoard)
        Else
            MessageBox.Show("No se ha encontrado: KB_.exe el proceso no puede continuar", "No se encontro ejecutable", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        End If





Por cuestiones de tiempo unicamente colocare la descarga del proyecto.
Descargar Proyecto