Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 2806

Re: How to use save dialog box

$
0
0

Hi Srini,

 

              Here the code to Export Data from DataSet to Excel using Save File Dialog

//ItemEvent

if (pVal.ItemUID == "Export")

{

    SAPbobsCOM.Recordset oRecordset = null;

    if (oMatrix.RowCount > 0)

     {

        string sExportSP = "Export_Details_Query";

        DataSet oDS = new DataSet();

        string ConnectionString = ystem.Configuration.ConfigurationSettings.AppSettings["SqlConn"];

        SqlConnection myConnection = new SqlConnection(ConnectionString);

        myConnection.Open();

       SqlDataAdapter oDA = new SqlDataAdapter(sExportSP, myConnection);

        oDA.Fill(oDS);

        if (oDS.Tables[0].Rows.Count > 0)

      {

        string strPath = "";

         SaveFileDialog saveDlg = new SaveFileDialog();

         saveDlg.InitialDirectory = @"C:\";

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

          saveDlg.FilterIndex = 0;

          saveDlg.RestoreDirectory = true;

          saveDlg.Title = "Export Excel File To";

          DialogResult ret = STAShowDialog(saveDlg);

          if (ret == System.Windows.Forms.DialogResult.OK)

          {

             strPath = saveDlg.FileName;

             if (strPath != "")

             {

               using (StreamWriter sw = new StreamWriter(strPath))

                {

                     ExportDatas(oDS as DataSet, sw, true);

                }

             }

          }

     }

   }                              

}

 

// Functions

       private static DialogResult STAShowDialog(FileDialog dialog)

        {

            DialogState state = new DialogState();

            state.dialog = dialog;

            System.Threading.Thread t = new System.Threading.Thread(state.ThreadProcShowDialog);

            t.SetApartmentState(System.Threading.ApartmentState.STA);

            t.Start();

            t.Join();

            return state.result;

        }

 

 

 

        public static void ExportDatas(DataSet sourceDS, TextWriter writer, bool includeHeaders)

        {

            if (includeHeaders)

            {

                // string tab = "";

                List<string> headerValues = new List<string>();

                foreach (System.Data.DataColumn column in sourceDS.Tables[0].Columns)

                {

                    headerValues.Add(QuoteValue(column.ColumnName));

                    //  tab = "\t";

                }

 

 

                writer.WriteLine(String.Join("\t", headerValues.ToArray()));

            }

 

 

            string[] items = null;

            foreach (DataRow row in sourceDS.Tables[0].Rows)

            {

                items = row.ItemArray.Select(o => QuoteValue(o.ToString())).ToArray();

                writer.WriteLine(String.Join("\t", items));

            }

 

 

            writer.Flush();

        }

 

        private static string QuoteValue(string value)

        {

            return String.Concat("\"", value.Replace("\"", "\"\""), "\"");

        }

 

 

//Dialogstate Class

 

public class DialogState

    {

        public DialogResult result;

        public FileDialog dialog;

 

 

 

 

        public void ThreadProcShowDialog()

        {

            result = dialog.ShowDialog();

        }

    }


Viewing all articles
Browse latest Browse all 2806

Trending Articles