Como Crear un Addin para Excel con C#

Como Crear un Addin para Excel con C#

Como Crear un Addin para Excel con C#
5 (100%) 2 votos

Hola a todos! espero que se la estén pasando genial, yo por mi parte el día de hoy realizare un tutorial practico sobre como crear un addin para excel con c# y visual studio. Muchas veces nos vemos en la necesidad de desarrollar una herramienta personalizada que tiene mucho que ver con un software de office, Excel. En mi caso necesitaba crear una herramienta que conectara a bases de datos y me trajera la información que necesito para mis clientes, pero no solo es mostrar información y ya, necesitamos que la información este lo mas digerida posible y ademas es para reportes de perdidas y ganancias de la empresa asi que la necesidad es crear una herramienta que traiga información de bases de datos y crear reportes en excel con tablas dinámicas y gráficos dinámicos, es por esto que necesitamos que nuestra herramienta este empotrada en excel. ¿Aun no sabes como crear un addin para excel? Comencemos..

Lo primero que necesitamos es una edición de Visual Studio, yo tengo VS2010 pero cualquier versión te puede funcionar bien.

También necesitamos tener acceso a una base de datos ya sea local o remota, ya sea mysql o sqlserver.

Una vez teniendo esto vamos a ver como crear un proyecto con visual studio 2010 para crear un addin para excel.

Como crear un addin para excel

Primero vamos a echar un ojo a la tabla en sql server que he creado para explicar este ejemplo, se llama ventas y se encuentra en la base de datos Reportes, tiene algunos registro de ejemplo que tratarémos de obtener y mostrar en nuestro excel con un simple click,

como-crear-un-addin-para-excel-2

Para comenzar vamos a necesitar utilizar algunos using en nuestro proyecto..

Podrás realizar la conexión a tu base de datos sql server basta con crear tu cadena de conexión de la forma,

crear nuestro objeto de conexión,

y abrir la conexión,

para obtener la información desde la base de datos sql server vamos a utilizar la siguiente función,

Ahora para trabajar con nuestro objeto excel vamos a crear un objeto conector así,

en nuestro código del botón obtener reporte vamos a crear un nuevo objeto application de excel, el cual nos permitirá trabajar con excel fácilmente, haremos visible este objeto y cambiamos el cursor al estilo wait para avisar al usuario que estamos trabajando..

agregamos un nuevo workbook,

ahora una nueva hoja o worksheet,

deshabilitamos la actualizacion en pantalla asi,

 

nombramos la nueva worksheet con el texto “resumen de ventas”,

cambiamos un poco el color de fondo y de texto de la fila de cabecera de nuestra información, consideremos la cantidad de columnas que traeremos de nuestra base de datos,

 

hacemos estatica la primer fila y aplicamos filtros asi,

 

mediante la funcion getdata que creamos anteriormente mandamos nuestra query a esta función que a su vez conecta y obtiene la información..

primero escribimos los nombres de nuestras columnas..

posteriormente creamos un array para guardar la información recibida de la base de datos que hasta ahora estaba almacenada en el objeto table, si es la columna 4 (indice 3) entonces le damos un formato de numero sino es un simple string, también encontraremos un código para darle cierto formato a las filas, una de color blanco otra de color azul claro..

Ahora pasamos este array data a nuestra worksheet de excel indicando en donde queremos que se muestren con la función Range,

aplicamos un truco para que se actualize el formato de las celdas numericas,

y ajustamos el tamaño de las columnas

Por ultimo terminamos volviendo a activar la actualización en pantalla, regresando el estilo del cursor, eliminando las hojas de trabajo que no necesitamos y cerrando la conexión,

Por fin, hemos visto como obtener información desde sql server a excel con este addin.

como-crear-un-addin-para-excel-1

Como crear una tabla dinamica

Para crear una tabla dinamica primero creamos ciertos objetos,

luego establecemos de donde obtendremos la información con la que trabajara nuestra tabla dinámica, le decimos que trabajara de la hoja de trabajo con el nombre “Resumen de Ventas”, es decir, la misma en la que estamos trabajando,

ahora seleccionamos el rango de celdas que componen nuestra informacion,

y le decimos donde empezara nuestra tabla dinamica asi,

donde useDefault viene de,

seleccionamos nuestra hoja de trabajo y comenzamos a crear nuestra tabla dinámica o pivot table asi,

mediante la función pivottablewizard, donde pasamos algunos parámetros así como algunos objetos antes creados, para mas información de estos parámetros visita este enlace.

ahora obtenemos esta tabla que registramos en excel y la apuntamos a un objeto que podamos manipular,

creamos los campos en los que se basara nuestra tabla dinamica, en este caso seria forma de pago y costo del producto,

damos un poco de formato a nuestra tabla dinamica..

establecemos que el campo forma de pago es una campo de fila

y que precio sera nuestro campo de datos, aprovechamos para darle un poco de formato a los números y para decirle que su función sera sumar todos los valores de precio agrupados por forma de pago,

al ejecutar tendremos el siguiente resultado..

como-crear-un-addin-para-excel-3

fácil no? 😉

Como crear un gráfico dinámico en excel con c#

Para crear un gráfico dinámico el proceso es mucho mas sencillo, simplemente tienes que indicar de donde obtendrás la información, indicar el tipo de gráfico y hacer uso de la función ChartWizard para personalizarlo, te dejo un ejemplo que toma los valores de la tabla dinámica generada en el paso anterior para dibujar un gráfica dinámica de pastel.

y el resultado al ejecutar es el siguiente,

como-crear-un-addin-para-excel-4

Si te gusto este tutorial en el que te explico como crear un addin para excel utilizando visual studio, c# y sql server para mostrar información en excel desde la base de datos, generar tablas y gráficas dinámicas entonces te pido que compartas este enlace con cualquier persona que le pueda interesar o simplemente dame un +1 en Google o en tu red social favorita.

Descargar proyecto completo en .zip

Hasta luego!

Como Crear un Addin para Excel con C#
5 (100%) 2 votos

6 Comentarios ¿Qué opinas tú del tema?

  1. Lenard Guzman 2015-10-27
    • Jonathan Melgoza 2015-10-29
  2. Mario 2015-10-11
  3. Luis 2015-10-11

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *