Excel & C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
//using Microsoft.Office;

namespace excel_test
{
    public class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Prueba de excel");
            RegogerDatos("E:\\libro.xlsx");
            Console.ReadKey();

        }//Main

        //public static List<string> RegogerDatos(string filePath)
        public static void RegogerDatos(string filePath)
        {
            List<string> list = new List<string>();

            //Declaracion de variables
            Microsoft.Office.Interop.Excel._Application xlApp;
            Microsoft.Office.Interop.Excel._Workbook xlWorkBook;    //xlLibro
            Microsoft.Office.Interop.Excel._Worksheet xlWorkSheet;  //xlHoja1
            Microsoft.Office.Interop.Excel.Sheets xlSheets;         //xlHojas

            //File Path
            string path = filePath;

            //Inicializar la variable xlApp (referente a la aplicacion)
            xlApp = new Microsoft.Office.Interop.Excel.Application();

            //Muestra la aplicacion si esta en TRUE
            xlApp.Visible = false;

            //Abrimos el libro de excel
            xlWorkBook = xlApp.Workbooks.Open(path, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

            try
            {
                //Asignamos las hojas
                xlSheets = xlWorkBook.Sheets;

                //Asignamos la hoja con la que se va a trabajar
                xlWorkSheet = (Microsoft.Office.Interop.Excel._Worksheet)xlSheets["Hoja1"];

                /////aqui iria el resto del codigo para copiar la macro/////
                //string value = (string)xlWorkSheet.get_Range(object cel1, object cell2);
                //string value = (string)xlWorkSheet.get_Range("B" + j, Missing.Value).Text;
                int i = 0;
                //string value = "";
                for (i =1 ; i <=4; i++)
                {
                    string value = (string)xlWorkSheet.get_Range("A" + i, Missing.Value).Text;
                    //value = (string)xlWorkSheet.get_Range("A" + i, Missing.Value).Text;
                    Console.WriteLine("A" + i + " = " + value);

                    string value2 = (string)xlWorkSheet.get_Range("B"+i, Missing.Value).Text;
                    Console.WriteLine("B" + i + " = " + value2);
                }
            }
            finally
            {
                //Cerrar el libro
                xlWorkBook.Close(false, Missing.Value, Missing.Value);

                //Cerrar la aplicacion
                xlApp.Quit();
            }

        }//RecogerDatos()
    }//public class Program
}//namespace excel_test

Fuente

Patopollo

2 comentarios en “Excel & C#

  1. Hola me podrias decir como leer un int
    string value2 = (string)xlWorkSheet.get_Range(“B”+i, Missing.Value).Text;
    ejemplo int celda= xlWorkSheet.get_Range(“B”+i, Missing.Value).Text;

    1. Te recomiendo leer primero como cadena y luego convertir a entero.

      // lectura como cadena
      string str_value = (range.Cells[row, col] as Excel.Range).Value2.ToString();
      
      // conversion
      int int_value = Convert.ToInt32(str_value, 10);
      

      Puedes probar con este ejemplo

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s