Retrieving excel data to combobox export to excel

In this blog we will know how to populate one column from excel to combobox. Also show all columns in a data gridview. Then export the combobox values to another excel sheet.

 

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;

 

namespace Retrieving_excel_data_to_combobox

{

    public partial class Form1 : Form

    {

        public OleDbConnection con;

        public void pintu(string s)

        {

            con = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; " + "data source='" + s + " '; " + "Extended Properties=Excel 8.0;");

 

        }

        public OleDbCommand com;

        public DataSet ds;

        public OleDbDataAdapter oledbda;

        public DataTable dt;

        public string str;

 

        public Form1()

        {

            InitializeComponent();

        }

 

        private void btnbrowse_Click(object sender, EventArgs e)

        {

            OpenFileDialog openfiledialog1 = new OpenFileDialog();

            openfiledialog1.ShowDialog();

            openfiledialog1.Filter = "allfiles|*.xls";

            TextBox1.Text = openfiledialog1.FileName;

 

        }

 

        private void Form1_Load(object sender, EventArgs e)

        {

            comboBox1.Text = "Please select";

        }

 

        private void btndisplay_Click(object sender, EventArgs e)

        {

            pintu(TextBox1.Text);

            try

            {

                con.Open();

                str = "select * from [sheet1$]";

                com = new OleDbCommand(str, con);

                ds = new DataSet();

                oledbda = new OleDbDataAdapter(com);

                oledbda.Fill(ds, "[sheet1$]");

                con.Close();

                DataGridView1.DataSource = ds;

                DataGridView1.DataMember = "[sheet1$]";

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

 

 

            try

            {

                con.Open();

                str = "select * from [sheet1$]";

                com = new OleDbCommand(str, con);

                oledbda = new OleDbDataAdapter(com);

                ds = new DataSet();

                oledbda.Fill(ds, "[sheet1$]");

                con.Close();

 

                dt = ds.Tables["[sheet1$]"];

                int i = 0;

                for (i = 0; i <= dt.Rows.Count - 1; i++)

                {

                    comboBox1.Items.Add(dt.Rows[i].ItemArray[0]);

                }

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

 

 

        }

 

        private void btn_export_Click(object sender, EventArgs e)

        {

            //We have to add a reference to the Microsoft Excel object library.

            //Right click on your project and select Add Reference menu. After that go to COM tab and select and add Microsoft Excel 12.0 object library.

 

            Microsoft.Office.Interop.Excel._Application app = new Microsoft.Office.Interop.Excel.Application();

            Microsoft.Office.Interop.Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);

            Microsoft.Office.Interop.Excel._Worksheet worksheet = null;

            app.Visible = true;

          

            try

            {

               

                worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Sheets["Sheet1"];

                worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.ActiveSheet;

                worksheet.Name = "Exported from DataGridView";

              

                for (int i = 1; i < DataGridView1.Columns.Count + 1; i++)

                {

                    worksheet.Cells[1, i] = DataGridView1.Columns[i - 1].HeaderText;

                }

               

                for (int i = 0; i < DataGridView1.Rows.Count - 1; i++)

                {

                    for (int j = 0; j < DataGridView1.Columns.Count; j++)

                    {

                        worksheet.Cells[i + 2, j + 1] = DataGridView1.Rows[i].Cells[j].Value.ToString();

                    }

                }

 

              

                string fileName = String.Empty;

               

                saveFileExcel.Filter = "Excel files |*.xls|All files (*.*)|*.*";

                saveFileExcel.FilterIndex = 2;

                saveFileExcel.RestoreDirectory = true;

 

                if (saveFileExcel.ShowDialog() == DialogResult.OK)

                {

                    fileName = saveFileExcel.FileName;

                 

                    workbook.SaveAs(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

 

                }

                else

                    return;

 

            }

            catch (System.Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

            finally

            {

                app.Quit();

                workbook = null;

                app = null;

            }

 

 

        } 

    }

}