Quantcast
Channel: Windows Forms Data Controls and Databinding forum
Viewing all articles
Browse latest Browse all 2535

How To Set Excel Column Format Latebinding

$
0
0
private void WriteToExcel(ref System.Data.DataTable dtExcel)
        {
            //Microsoft.Office.Interop.Excel.Application oXL = null;
            //Microsoft.Office.Interop.Excel._Workbook oWB;s
            //Microsoft.Office.Interop.Excel._Worksheet oSheet;

            //SaveFileDialog SFD = new SaveFileDialog();
            //SFD.Filter = "Excel 97-2003 Workbook(*.xls)|*.xls|Excel Workbook(*.xlsx)|*.xlsx|Excel Binary Workbook(*.xlsb)|*.xlsb|" +
            //"Excel Macro-Enabled Workbook(*.xlsm)|*.xlsm";
            //SFD.ShowDialog();
            /////////////////////////////////////////////////////////////////////////////////////////////////////////

            /*Cell Format Text,
            Format Excel cells to store values as text
            Formating Excel cells to text format will solve the problem of losing leading zeo values when you export data from other data sources to excel.


            Excel.Range formatRange;
            formatRange = xlWorkSheet.get_Range("a1", "b1");
            formatRange.NumberFormat = "@";
            xlWorkSheet.Cells[1, 1] = "098";
            */

            if (dgvData.RowCount == 0)
            {
                MessageBox.Show("GridView is Empty.");
                return;
            }

            tlsStatus.Text = "Export To Excel Strats.... ";

            tlsStatus.ForeColor = System.Drawing.Color.DeepPink;

            prbExcelGen.Value = 0;
            prbExcelGen.Minimum = 0;
            prbExcelGen.Maximum = dgvData.RowCount;
            prbExcelGen.Step = 1;
            prbExcelGen.Refresh();
            object objApp_Late;
            object objBook_Late;
            object objBooks_Late;
            object objSheets_Late;
            object objSheet_Late;
            object objRange_Late;
            object[] Parameters;
            string[] headers = new string[dgvData .ColumnCount];
            string[] columns = new string[dgvData.ColumnCount];

            int i = 0;
            int c = 0;
            for (c = 0; c <= dgvData.ColumnCount - 1; c++)
            {
                headers[c] = dgvData.Rows[0].Cells[c].OwningColumn.Name.ToString();
                //Convert Cell Names To A,B,C...Z , 65+C=CHR(C)=>A WHEN C=0
                i = c + 65;
                columns[c] = Convert.ToString((char)i);
            }

            try
            {
                // Get the class type and instantiate Excel.
                Type objClassType;
                objClassType = Type.GetTypeFromProgID("Excel.Application");
                objApp_Late = Activator.CreateInstance(objClassType);
                //Get the workbooks collection.
                objBooks_Late = objApp_Late.GetType().InvokeMember("Workbooks",BindingFlags.GetProperty, null, objApp_Late, null);
                //Add a new workbook.
                objBook_Late = objBooks_Late.GetType().InvokeMember("Add",BindingFlags.InvokeMethod, null, objBooks_Late, null);
                //Get the worksheets collection.
                objSheets_Late = objBook_Late.GetType().InvokeMember("Worksheets",BindingFlags.GetProperty, null, objBook_Late, null);
                //Get the first worksheet.
                Parameters = new Object[1];
                Parameters[0] = 1;
                objSheet_Late = objSheets_Late.GetType().InvokeMember("Item",
                BindingFlags.GetProperty, null, objSheets_Late, Parameters);

                //if (true)
                //{
                // Create the headers in the first row of the sheet

                for (c = 0; c <= dgvData.ColumnCount - 1; c++)
                {
                    //Get a range object that contains cell.
                    Parameters = new Object[2];
                    Parameters[0] = columns[c] + "1";
                    Parameters[1] = Missing.Value;
                    objRange_Late = objSheet_Late.GetType().InvokeMember("Range",
                    BindingFlags.GetProperty, null, objSheet_Late, Parameters);
                    //Write Headers in cell.
                    Parameters = new Object[1];
                    Parameters[0] = headers[c];
                    objRange_Late.GetType().InvokeMember("Value", BindingFlags.SetProperty,
                    null, objRange_Late, Parameters);
                }
                //}

                // Now add the data from the grid to the sheet starting in row 2

                for (i = 0; i < dgvData.RowCount - 1; i++)
                {
                    prbExcelGen.PerformStep();
                    prbExcelGen.Refresh();
                    for (c = 0; c <= dgvData.ColumnCount - 1; c++)
                    {


                        //Get a range object that contains cell.
                        Parameters = new Object[2];
                        Parameters[0] = columns[c] + Convert.ToString(i + 2);
                        Parameters[1] = Missing.Value;
                        objRange_Late = objSheet_Late.GetType().InvokeMember("Range",
                        BindingFlags.GetProperty, null, objSheet_Late, Parameters);
                        //Write Headers in cell.
                        Parameters = new Object[1];
                        Parameters[0] = dgvData.Rows[i].Cells[headers[c]].Value.ToString();
                        objRange_Late.GetType().InvokeMember("Value", BindingFlags.SetProperty,
                        null, objRange_Late, Parameters);
                        //if (i == 0)
                        //    BoldRow(i, c, (EXL._Worksheet)objSheet_Late);
                    }
                    tlsStatus.Text = "Exporting Records...." + i;
                }

                //Return control of Excel to the user.
                Parameters = new Object[1];
                Parameters[0] = true;
                tlsStatus.Text = "Exporting Completed.";
                objApp_Late.GetType().InvokeMember("Visible", BindingFlags.SetProperty,
                null, objApp_Late, Parameters);
                objApp_Late.GetType().InvokeMember("UserControl", BindingFlags.SetProperty,
                null, objApp_Late, Parameters);
                /*
                 * oWB.SaveAs(fileName, Excel.XlFileFormat.xlOpenXMLWorkbook,
                    missing, missing, missing, missing,
                    Excel.XlSaveAsAccessMode.xlNoChange,
                    missing, missing, missing, missing, missing);
                 */

                //oWB = (Microsoft.Office.Interop.Excel._Workbook)objBook_Late;
                //oWB.SaveAs("file", EXL.XlFileFormat.xlXMLSpreadsheet, Type.Missing, Type.Missing, Type.Missing, Type.Missing, EXL.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                //oWB.Save();
            }
            catch (Exception theException)
            {
                String errorMessage;
                errorMessage = "Error: ";
                errorMessage = String.Concat(errorMessage, theException.Message);
                errorMessage = String.Concat(errorMessage, " Line: ");
                errorMessage = String.Concat(errorMessage, theException.Source);
                MessageBox.Show(errorMessage);
            }
            finally
            {

            }



        }
using the above code i am writing to excel sheet can some one help me to tell how can i set a column type as text 

Viewing all articles
Browse latest Browse all 2535

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>