private void ExcelExport_Click(object sender, RoutedEventArgs e)
{
var options = new ExcelExportingOptions();
options.ExcelVersion = ExcelVersion.Excel2013;
var excelEngine = sfDataGrid.ExportToExcel(sfDataGrid.View, options);
var workBook = excelEngine.Excel.Workbooks[0];
SaveFileDialog sfd = new SaveFileDialog
{
FilterIndex = 2,
Filter = "Excel 97 to 2003 Files(*.xls)|*.xls|Excel 2007 to 2010 Files(*.xlsx)|*.xlsx",
FileName = "Book1"
};
if (sfd.ShowDialog() == true)
{
using (Stream stream = sfd.OpenFile())
{
switch (sfd.FilterIndex)
{
case 1:
workBook.Version = ExcelVersion.Excel97to2003;
break;
case 2:
workBook.Version = ExcelVersion.Excel2010;
break;
case 3:
workBook.Version = ExcelVersion.Excel2013;
break;
case 4:
workBook.Version = ExcelVersion.Excel2016;
break;
case 5:
workBook.Version = ExcelVersion.Xlsx;
break;
} // end switch-case
workBook.SaveAs(stream);
}
//Message box confirmation to view the created workbook.
if (MessageBox.Show("Do you want to view the workbook?", "Workbook has been created",
MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes)
{
//Launching the Excel file using the default Application.[MS Excel Or Free ExcelViewer]
System.Diagnostics.Process.Start(sfd.FileName);
}
}
}
private static void Open(string fileName)
{
#if !NETCORE
System.Diagnostics.Process.Start(fileName);
#else
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo
{
FileName = "cmd",
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
UseShellExecute = false,
CreateNoWindow = true,
Arguments = "/c start " + fileName
};
System.Diagnostics.Process.Start(psi);
#endif
} |
IApplication application = excelEngine.Excel;
application.DataProviderType = ExcelDataProviderType.ByteArray; |