Search This Blog

Wednesday, July 17, 2013


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.IO;
using System.Reflection;
using Excel = Microsoft.Office.Interop.Excel;


namespace Read_Excel_Windows_Forms
{
    public partial class Form1 : Form
    {
        OleDbConnection con;
        DataTable dt;
        public Form1()
        {
            InitializeComponent();
            InitializeOpenFileDialog();
        }

        private void InitializeOpenFileDialog()
        {
            this.openFileDialog1.Title = "Select an excel file";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            GetExcelFields();
        }

        public void GetExcelFields()
        {
            DialogResult dr = this.openFileDialog1.ShowDialog();
            if (dr == System.Windows.Forms.DialogResult.OK)
            {
                string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0;HDR=YES;IMEX=1;""", openFileDialog1.FileName);
                string query = String.Format("select * from [{0}$]", "Sheet1");
                OleDbConnection con = new OleDbConnection(connectionString);
                con.Open();
                OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
                DataTable dt = new DataTable();
                dataAdapter.Fill(dt);
                int cnt = dt.Columns.Count;
                //int i = 1;
                List<ExcelItemPairs> data = new List<ExcelItemPairs>();
                foreach (DataColumn col in dt.Columns)
                {
                    comboBox1.DisplayMember = "Value";
                    comboBox1.Items.Add(new ExcelItemPairs() { Value= Convert.ToString(col.ColumnName), Type=Convert.ToString(col.DataType)});
                }
             
                DataSet dataSet = new DataSet();
                dataAdapter.Fill(dataSet);
                dataGridView1.DataSource = dataSet.Tables[0];
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ExcelItemPairs objType = (ExcelItemPairs)comboBox1.SelectedItem;
            label1.Text = objType.Type;
        }
    }
}

No comments:

Post a Comment