Click here to Skip to main content
15,906,272 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
sir,


I have following code.in button click event.

            dt = new DataTable();
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Adress", typeof(string));
            for (int i = 0; i < 10; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = "hi";
                dr[1] = "Chennai";
                dt.Rows.Add(dr);
            }
            DataSet ds = new DataSet();
            ds.Tables.Add(dt);



using (var wrt = new StreamWriter(openFile.FileName))
{
    for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
    {
        wrt.Write(ds.Tables[0].Columns[i].ToString().Trim() + "\t");
    }
    wrt.WriteLine();
    for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
    {
        if (ds.Tables[0].Rows[j][0].ToString() != null)
        {
            wrt.Write(ds.Tables[0].Rows[j][0].ToString().Trim());
            for (int i = 1; i < ds.Tables[0].Columns.Count; i++)
            {
                wrt.Write("\t" + ds.Tables[0].Rows[j][i].ToString().ToString().Trim());
            }
            wrt.WriteLine();
        }
    }


When iam click button iam getting directly Opening Excel file.But i Want to get

open save Cancel options. For this what can I do

Is there any solution Please help me.

Thanks & Regards
Posted
Updated 25-Jul-11 22:01pm
v2

Try this

C#
SaveFileDialog sfileD = new SaveFileDialog();
sfileD.Filter = "xlsx files(*.xlsx)|*.xlsx|xls files(*.xls)|*.xls|All files(*.*)|*.*";
sfileD.FilterIndex = 2;
sfileD.RestoreDirectory = true;
if (sfileD.ShowDialog() == DialogResult.OK)
{
 string filename = sfileD.FileNames[0];
 if (exportToExcel(ds.Tables[0], filename))
  MessageBox.Show("Excel Sheet generated successfully.");
}


Method exportTOExcel

public static bool exportToExcel(DataTable source, string fileName)
        {
            Workbook book = new Workbook();
            Worksheet sheet = book.Worksheets.Add("Sheet1");
            WorksheetRow row = sheet.Table.Rows.Add();
            WorksheetStyle excelHeaderStyle = book.Styles.Add("HeaderRowStyle");
            excelHeaderStyle.Font.Bold = true;
            excelHeaderStyle.Font.FontName = "Verdana";
            excelHeaderStyle.Font.Size = 10;
            excelHeaderStyle.Font.Color = "#000000";
            try
            {
                for (int i = 0; i < source.Columns.Count; i++)
                {
                    row.Cells.Add(source.Columns[i].ColumnName, DataType.String, "HeaderRowStyle");
                }
                int no_colums = source.Columns.Count;
                for (int i = 0; i < source.Rows.Count; i++)
                {
                    row = sheet.Table.Rows.Add();
                    for (int j = 0; j < no_colums; j++)
                    {
                        row.Cells.Add(source.Rows[i].ItemArray[j].ToString());
                    }
                }
                book.Save(fileName);
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
                return false;
            }
        }
 
Share this answer
 
v2
Comments
kranthi.oru 26-Jul-11 5:13am    
what is (exportToExcel(ds.Tables[0], filename))
and + calllist + Here.
Raju Prajapati 26-Jul-11 5:47am    
exportToExcel is another method i have changed something plz check
in exportToExcel i have used CarlosAg.ExcelXmlWriter.DLL, this dll you can download online
kranthi.oru 26-Jul-11 6:07am    
Thank you very much for your Coparation.
 
Share this answer
 
Hi Kranthi,

Check this link

Export Data to Excel Much Faster[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900