private static void Export() { var saveFileDialog = new SaveFileDialog { Filter = "CSV files (*.csv)|*.csv" }; if (saveFileDialog.ShowDialog() == true) { try { using (Stream stream = new FileStream(saveFileDialog.FileName, FileMode.Create)) { _grid.Export(stream, new GridViewCsvExportOptions { ColumnDelimiter = CultureInfo.CurrentCulture.TextInfo.ListSeparator, ShowColumnHeaders = true, ShowColumnFooters = false, ShowGroupFooters = false, Culture = CultureInfo.CurrentCulture, Encoding = Encoding.UTF8, Items = (IEnumerable)_grid.ItemsSource }); } } catch (IOException) { MessageBox.Show(String.Format( "Export to file {0} was failed. File used by another process. End process and try again.", saveFileDialog.FileName), "Error"); } } }
private static RadDocument CreateDocument(GridViewDataControl grid) { RadDocument document; using (var stream = new MemoryStream()) { EventHandler <GridViewElementExportingEventArgs> elementExporting = (s, e) => { if (e.Element == ExportElement.Table) { e.Attributes["border"] = "0"; } }; grid.ElementExporting += elementExporting; grid.Export(stream, new GridViewExportOptions { Format = ExportFormat.Html, ShowColumnFooters = grid.ShowColumnFooters, ShowColumnHeaders = grid.ShowColumnHeaders, ShowGroupFooters = grid.ShowGroupFooters }); grid.ElementExporting -= elementExporting; stream.Position = 0; document = new HtmlFormatProvider().Import(stream); foreach (Span span in document.EnumerateChildrenOfType <Span>()) { span.FontSize = 12; span.FontFamily = new FontFamily("Arial"); } } return(document); }
private static Workbook CreateWorkBook(GridViewDataControl grid) { Workbook book; using (var stream = new MemoryStream()) { grid.Export(stream, new GridViewExportOptions { Format = Telerik.Windows.Controls.ExportFormat.Csv, ShowColumnFooters = grid.ShowColumnFooters, ShowColumnHeaders = grid.ShowColumnHeaders, ShowGroupFooters = grid.ShowGroupFooters, }); stream.Position = 0; book = new CsvFormatProvider().Import(stream); } return book; }
private static RadDocument CreateDocument(GridViewDataControl grid, PrintSettings settings) { RadDocument document; using (var stream = new MemoryStream()) { EventHandler<GridViewElementExportingEventArgs> elementExporting = (s, e) => { switch (e.Element) { case ExportElement.Table: e.Attributes["border"] = "0"; break; case ExportElement.HeaderRow: e.Styles.Add("background-color", settings.HeaderBackground.ToString().Remove(1, 2)); break; case ExportElement.GroupHeaderRow: e.Styles.Add("background-color", settings.GroupHeaderBackground.ToString().Remove(1, 2)); break; case ExportElement.Row: e.Styles.Add("background-color", settings.RowBackground.ToString().Remove(1, 2)); break; } }; grid.ElementExporting += elementExporting; grid.Export(stream, new GridViewExportOptions { Format = Telerik.Windows.Controls.ExportFormat.Html, ShowColumnFooters = grid.ShowColumnFooters, ShowColumnHeaders = grid.ShowColumnHeaders, ShowGroupFooters = grid.ShowGroupFooters }); grid.ElementExporting -= elementExporting; stream.Position = 0; document = new HtmlFormatProvider().Import(stream); } return document; }
public void Export() { // arrange var exportUtility = new ExportUtility(); var privateAccessor = new PrivateAccessor(exportUtility); // act var result = (bool)privateAccessor.CallMethod("Export", new object[] { null, null }); // assert Assert.IsFalse(result); // arrange var dialog = Mock.Create<SaveFileDialog>(); privateAccessor.SetField("_saveFileDialog", dialog); // act result = (bool)privateAccessor.CallMethod("Export", new object[] { null, null }); // assert Assert.IsFalse(result); // arrange var exportViewModel = new ExportOptionsViewModel(); exportUtility.TheExportOptionsViewModel = new Lazy<ExportOptionsViewModel>(() => exportViewModel); var grid = new GridViewDataControl(); using (var stream = new MemoryStream()) { Mock.Arrange(() => dialog.OpenFile()).Returns(stream); // act result = (bool)privateAccessor.CallMethod("Export", new object[] { grid, "Id|CurrentState" }); // assert Assert.IsTrue(result); } // arrange Mock.Arrange(() => grid.IsGrouping).Returns(true); Mock.Arrange(() => grid.Export(Arg.IsAny<Stream>(), Arg.IsAny<GridViewExportOptions>())).DoNothing(); using (var stream = new MemoryStream()) { Mock.Arrange(() => dialog.OpenFile()).Returns(stream); // act result = (bool)privateAccessor.CallMethod("Export", new object[] { grid, "Id|CurrentState" }); // assert Assert.IsTrue(result); } // arrange using (var stream = new MemoryStream()) { Mock.Arrange(() => dialog.OpenFile()).Returns(stream); exportViewModel.ExportFileType = ExportFileType.Pdf; // act result = (bool)privateAccessor.CallMethod("Export", new object[] { grid, null }); // assert Assert.IsTrue(result); // arrange Mock.NonPublic.Arrange(exportUtility, "CreateDocument", grid).DoNothing(); // act result = (bool)privateAccessor.CallMethod("Export", new object[] { grid, null }); // assert Assert.IsFalse(result); } // arrange Mock.Arrange(() => grid.IsGrouping).Returns(false); using (var stream = new MemoryStream()) { // arrange Mock.Arrange(() => dialog.OpenFile()).Returns(stream); Mock.NonPublic.Arrange(exportUtility, "CreateDocument", grid).CallOriginal(); // act result = (bool)privateAccessor.CallMethod("Export", new object[] { grid, null }); // assert Assert.IsTrue(result); } }
private static RadDocument CreateDocument(GridViewDataControl grid) { RadDocument document; using (var stream = new MemoryStream()) { EventHandler<GridViewElementExportingEventArgs> elementExporting = (s, e) => { if (e.Element == ExportElement.Table) { e.Attributes["border"] = "0"; } }; grid.ElementExporting += elementExporting; grid.Export(stream, new GridViewExportOptions { Format = ExportFormat.Html, ShowColumnFooters = grid.ShowColumnFooters, ShowColumnHeaders = grid.ShowColumnHeaders, ShowGroupFooters = grid.ShowGroupFooters }); grid.ElementExporting -= elementExporting; stream.Position = 0; document = new HtmlFormatProvider().Import(stream); foreach (Span span in document.EnumerateChildrenOfType<Span>()) { span.FontSize = 12; span.FontFamily = new FontFamily("Arial"); } } return document; }
private RadDocument CreateDocument(GridViewDataControl gridView) { RadDocument document; using (var memoryStream = new MemoryStream()) { gridView.ElementExporting += ElementExporting; gridView.Export(memoryStream, new GridViewExportOptions { Format = GetFormat(TheExportOptionsViewModel.Value.ExportFileType), Encoding = new UTF8Encoding(true), ShowColumnFooters = gridView.IsGrouping ? gridView.AggregateResults.Count > 1 : gridView.AggregateResults.Count > 0, ShowGroupFooters = gridView.IsGrouping && gridView.AggregateResults.Count > 1, ShowColumnHeaders = true }); gridView.ElementExporting -= ElementExporting; memoryStream.Position = 0; document = new HtmlFormatProvider().Import(memoryStream); document.SectionDefaultPageOrientation = TheExportOptionsViewModel.Value.PageOrientation; } return document; }
private bool Export(GridViewDataControl gridView, string accessDeniedProperties) { if (_saveFileDialog == null) { return false; } if (gridView == null) { return false; } if (!string.IsNullOrEmpty(accessDeniedProperties)) { _accessDeniedProperties = accessDeniedProperties.Split('|').ToList(); } using (var stream = _saveFileDialog.OpenFile()) { if (TheExportOptionsViewModel.Value.ExportFileType == ExportFileType.Pdf) { var document = CreateDocument(gridView); if (document == null) { return false; } document.LayoutMode = DocumentLayoutMode.Paged; document.Measure(RadDocument.MAX_DOCUMENT_SIZE); document.Arrange(new RectangleF(PointF.Empty, document.DesiredSize)); new PdfFormatProvider().Export(document, stream); } else { gridView.ElementExporting += ElementExporting; gridView.Export(stream, new GridViewExportOptions { Format = GetFormat(TheExportOptionsViewModel.Value.ExportFileType), Encoding = new UTF8Encoding(true), ShowColumnFooters = gridView.IsGrouping ? gridView.AggregateResults.Count > 1 : gridView.AggregateResults.Count > 0, ShowGroupFooters = gridView.IsGrouping && gridView.AggregateResults.Count > 1, ShowColumnHeaders = true }); gridView.ElementExporting -= ElementExporting; } } return true; }