SpreadsheetStreamingExport
的GridViewSpreadStreamExport使用RadSpreadStreamProcessing库,它允许您创建大文档(无需将整个文档加载到内存中),并将它们导出为XLSX和CSV格式。
程序集引用
的使用SpreadsheetStreamingExport导出函数使用额外的库,因此您需要添加对以下程序集的引用:
- Telerik.Windows.Controls.dll
- Telerik.Windows.Controls.Input.dll
- Telerik.Windows.Controls.GridView.dll
- Telerik.Windows.Controls.GridView.SpreadsheetStreamingExport.dll
- Telerik.Documents.SpreadsheetStreaming.dll
- Telerik.Windows.Data.dll
- Telerik.Windows.Zip.dll
Telerik.Windows.Controls.GridView.SpreadsheetStreamingExport.dll是否引入了新的二进制文件R1 2019.
GridViewSpreadStreamExport
方法的实例来导出RadGridViewGridViewSpreadStreamExport类。的实例RadGridView控件,您希望将其导出为参数。您还可以指定要导出的工作表的名称以及ExportFormat -XLSX或CSV.
例1:使用GridViewSpreadStreamExport导出RadGridView
= new GridViewSpreadStreamExport(this.GridView);spreadStreamExport。SheetName = "Sheet1";spreadStreamExport。出口Format = SpreadStreamExportFormat.Xlsx;
RunExport
一旦您正确初始化了GridViewSpreadStreamExport,您就可以调用RunExport方法触发导出机制。方法本身有4种不同的重载:
- 运行导出(字符串fileName, exportRenderer)
- RunExport(string fileName, SpreadStreamExportRenderer, GridViewSpreadStreamExportOptions选项)
- RunExport(Stream exportStream, SpreadStreamExportRenderer exportRenderer)
- RunExport(流exportStream, SpreadStreamExportRenderer, GridViewSpreadStreamExportOptions选项)
可以观察到,您必须指定文件名或提供GridViewSpreadStreamExport要使用的流,并且必须创建SpreadStreamExportRenderer类,该类公开使用RadSpreadStreamProcessing导出所需的方法。您还可以选择传入GridViewSpreadStreamExportOptions根据您的需要定制导出。
例1:使用GridViewSpreadStreamExport导出RadGridView
= new GridViewSpreadStreamExport(this.GridView);runexport (dialog.FileName.ToString(), new SpreadStreamExportRenderer());
RunExportAsync
你也可以导出RadGridView异步地使用RunExportAsync的方法GridViewSpreadStreamExport类。该方法与同步方法具有相同的重载:
- RunExportAsync(string fileName, SpreadStreamExportRenderer)
- RunExportAsync(string fileName, SpreadStreamExportRenderer, GridViewSpreadStreamExportOptions选项)
- RunExportAsync(流exportStream, SpreadStreamExportRenderer exportRenderer)
- RunExportAsync(流exportStream, SpreadStreamExportRenderer, GridViewSpreadStreamExportOptions选项)
例2:异步导出RadGridView
= new GridViewSpreadStreamExport(this.GridView);spreadStreamExport.RunExportAsync(dialog.FileName.ToString(), new SpreadStreamExportRenderer());
在使用RunExportAsync方法时,还可以设置ShowLoadingIndicatorWhileAsyncExport财产真正的要显示RadBusyIndicator发送给用户,并在不阻塞UI的情况下指示正在进行耗时的操作。你可以通过RadGridView来控制指示器的内容BusyContent而且BusyContentTemplate属性。
如果希望取消导出操作,还可以调用CancelExportAsync方法。
GridViewSpreadStreamExportOptions
通过GridViewSpreadStreamExportOptions,您可以自定义如何导出RadGridView控件。该类公开了以下属性:
- ExportDefaultStyles:指定gridviewdat控件是否以默认样式导出。
- ShowColumnFooters:指定是否应在导出时包含列页脚。
- ShowGroupFooters:指定在导出时是否包含组页脚。
- ShowColumnGroups:指定在导出时是否应包含公共列标头。
- ShowGroupHeaderRowAggregates:指定在导出时是否包含组报头聚合。
- HiddenColumnExportOption:获取或设置一个值,该值指示如何导出隐藏列。的HiddenColumnExportOptions枚举提供了三个可能的选项:ExportAlways,DoNotExport而且ExportAsHidden.
- ColumnWidth:获取或设置导出的列的宽度。
- 项目:要导出的项的集合。
- ShowGroupRows:指定是否应该导出组行(此属性在R3 2019).
- 文化:设置特定的区域性(此属性在R3 2019).
- IgnoreCollapsedGroups:指定是否应该导出折叠组(此属性在R3 2019).
- ExcludedColumns:指定在导出控件时要排除哪些列(此属性在2020.2.622内部构建).
例3:导出带有页眉、页脚和默认样式的RadGridView
= new GridViewSpreadStreamExport(this.GridView);spreadStreamExport.RunExport(dialog.FileName.ToString(),新的SpreadStreamExportRenderer(),新的GridViewSpreadStreamExportOptions() {ShowColumnHeaders =true, ShowColumnFooters =true, ExportDefaultStyles=true});
图1:将ExportDefaultStyles设置为True进行导出
事件
除了前面讨论过的ExportCompleted,AsyncExportProgressChanged而且AsyncExportCompleted事件,GridViewSpreadStreamExport也暴露了ElementExportingToDocument而且ElementExportedToDocument事件,允许您设置导出元素的样式和格式。
ElementExportingToDocument
的ElementExportingToDocument当一个元素即将被导出时。通过其GridViewSpreadStreamElementExportingEventArgs您可以访问以下属性:
- 元素:当前导出元素的类型。这可以是以下类型中的任何一种:HeaderCell,FooterCell,GroupHeaderCell,GroupFooterCell,细胞或CommonColumnHeader.
- 价值:待导出的值。
- 取消:一个布尔值,指示是否应该取消事件。
- 列:导出单元格的列。
- 风格:导出单元格的样式。它是一种类型SpreadStreamCellStyle并提供了许多用于样式化导出元素的选项。
ElementExportedToDocument
的ElementExportedEvent另一方面,在每次导出元素时触发。它的GridViewSpreadStreamElementExportedEventArgs有一个单一的财产-元素,它保存导出元素的类型(HeaderCell,FooterCell,GroupHeaderCell,GroupFooterCell,细胞或CommonColumnHeader).