Try this
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;
}
}