|
private async void ExPortToExcel(object sender, EventArgs e)
{
this.BindingContext = new OrderInfoRepository();
// grid = new SfDataGrid(); // If you need to create instance either in xaml or here. Do not create in the both locations.
grid.ItemsSource = ((this.BindingContext) as OrderInfoRepository).OrderInfoCollection;
grid.AutoGenerateColumns = true;
grid.AutoGenerateColumnsMode = AutoGenerateColumnsMode.ResetAll;
await Task.Delay(500);
DataGridExcelExportingController excelExport = new DataGridExcelExportingController();
DataGridExcelExportingOption option = new DataGridExcelExportingOption();
var excelEngine = excelExport.ExportToExcel(this.grid);
var workbook = excelEngine.Excel.Workbooks[0];
MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);
workbook.Close();
excelEngine.Dispose();
if (Device.RuntimePlatform == Device.UWP)
Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("DataGrid.xlsx", "application/msexcel", stream);
else
Xamarin.Forms.DependencyService.Get<ISave>().Save("DataGrid.xlsx", "application/msexcel", stream);
} |
|
private async void ExportAllTraitsToExcel()
{
grid = new SfDataGrid(); //You should not create new instance for grid once again which is already loaded in XAML. So remove that code.
grid.ItemsSource = bullsToExport;
grid.AutoGenerateColumns = true;
grid.AutoGenerateColumnsMode = AutoGenerateColumnsMode.ResetAll;
await Task.Delay(500);
DataGridExcelExportingController excelExport = new DataGridExcelExportingController();
DataGridExcelExportingOption option = new DataGridExcelExportingOption();
var excelEngine = excelExport.ExportToExcel(this.grid);
var workbook = excelEngine.Excel.Workbooks[0];
MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);
workbook.Close();
excelEngine.Dispose();
Xamarin.Forms.DependencyService.Get<ISave>().Save("BullExportData_FilteredTraits.xlsx", "application/msexcel", stream);
}
|