Пример #1
0
        private void ExportToExcel_Clicked(object sender, EventArgs e)
        {
            isExporting = true;
            DataGridExcelExportingController excelExport  = new DataGridExcelExportingController();
            DataGridExcelExportingOption     exportOption = new DataGridExcelExportingOption();

            if (Device.OS == TargetPlatform.iOS)
            {
                exportOption.ExportColumnWidth  = false;
                exportOption.DefaultColumnWidth = 150;
            }
            var          excelEngine = excelExport.ExportToExcel(this.dataGrid, exportOption);
            var          workbook    = excelEngine.Excel.Workbooks[0];
            MemoryStream stream      = new MemoryStream();

            workbook.SaveAs(stream);
            workbook.Close();
            excelEngine.Dispose();

            if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
            {
                Xamarin.Forms.DependencyService.Get <ISaveWindowsPhone>().Save("DataGrid.xlsx", "application/msexcel", stream);
            }
            else
            {
                Xamarin.Forms.DependencyService.Get <ISave>().Save("DataGrid.xlsx", "application/msexcel", stream);
            }
        }
        private void ExportToExcel()
        {
            isExporting = true;
            DataGridExcelExportingController excelExport = new DataGridExcelExportingController();
            DataGridExcelExportingOption exportOption = new DataGridExcelExportingOption();
            if(Device.OS == TargetPlatform.iOS)
            {
                exportOption.ExportColumnWidth = false;
                exportOption.DefaultColumnWidth = 150;
            }
            var excelEngine = excelExport.ExportToExcel(this.dataGrid,exportOption);
            var workbook = excelEngine.Excel.Workbooks[0];
            MemoryStream stream = new MemoryStream();
            workbook.SaveAs(stream);
            workbook.Close();
            excelEngine.Dispose();

            if (Device.OS == TargetPlatform.WinPhone || Device.OS == TargetPlatform.Windows)
                Xamarin.Forms.DependencyService.Get<ISaveWindowsPhone>().Save("DataGrid.xlsx", "application/msexcel", stream);
            else
                Xamarin.Forms.DependencyService.Get<ISave>().Save("DataGrid.xlsx", "application/msexcel", stream);
        }
Пример #3
0
        /// <summary>
        /// Export the DataGrid to Excel
        /// </summary>
        /// <param name="obj">object type parameter</param>
        private void ExportToExcel(object obj)
        {
            DataGridExcelExportingController excelExport  = new DataGridExcelExportingController();
            DataGridExcelExportingOption     exportOption = new DataGridExcelExportingOption();

            if (Device.RuntimePlatform == Device.iOS)
            {
                exportOption.ExportColumnWidth = true;
            }

            var excelEngine = excelExport.ExportToExcel(this.dataGrid, exportOption);

            if (excelEngine == null)
            {
                return;
            }

            var workbook = excelEngine.Excel.Workbooks[0];

            if (workbook == null)
            {
                return;
            }

            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);
            }
        }