Click to get Flash Player
Get Adobe Flash player

or try to enable JavaScript and reload the page

Tuesday 28 August 2012

Show opened Excel Sheet in Datagridview Excel Add-In C#

 Microsoft.Office.Interop.Excel.Application xlApp;
       Microsoft.Office.Interop.Excel.Workbook activeWorkBook = (Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook;
            Microsoft.Office.Interop.Excel.Sheets sheets = activeWorkBook.Worksheets;
            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)sheets.get_Item(1);
            Microsoft.Office.Interop.Excel.Range xlRange = worksheet.UsedRange;
            Array myValues = (Array)xlRange.Cells.Value2;

            //DataTable dt = new DataTable();
            //DataRow rw = dt.NewRow();
            //DataTable dt = new DataTable();
            System.Data.DataTable dt = new System.Data.DataTable();
            DataRow dr;
            System.Data.DataTable dtreturn = new System.Data.DataTable();
            Microsoft.Office.Interop.Excel.Application oExcel;
            Microsoft.Office.Interop.Excel.Workbook oWorkBook;
            Microsoft.Office.Interop.Excel.Worksheet oWorkSheet;
            try
            {
                int r;
                int c;
                int intRows;
                int intCols;

                Microsoft.Office.Interop.Excel.Range excelCell = worksheet.UsedRange;
                Object[,] values = (Object[,])excelCell.Value2;
                intRows = values.GetLength(0);

                if (intRows != 0)
                {
                    intCols = values.GetLength(1);
                    if (intCols != 0)
                    {
                        for (c = 1; c <= intCols; c++)
                        {
                            dt.Columns.Add(new DataColumn((String)values[1, c]));
                        }
                        for (r = 2; r <= intRows; r++)
                        {
                            dr = dt.NewRow();
                            for (c = 1; c <= intCols; c++)
                            {
                                dr[(String)values[1, c]] = values[r, c];
                            }
                            dt.Rows.Add(dr);
                        }
                    }
                }
                grid.DataSource = dt.AsDataView();

                dtreturn = dt;
                dt = null;
                oWorkSheet = null;
                activeWorkBook.Close(Missing.Value, Missing.Value, Missing.Value);
                oWorkBook = null;

                oExcel = null;
               
                //for (int i = 0; i < grid.Columns.Count; i++)
                //{
                //    combomsg.Items.Add(grid.Columns[i].HeaderText);
                //    combonum.Items.Add(grid.Columns[i].HeaderText);
                //}
              
            }
            catch (Exception ex)
            {

            }

No comments:

Post a Comment

thnx