To export Gridview data to Excel using devexpress XtraGrid have a look at the sample below.
Samples
C# Sample
using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; using DevExpress.XtraEditors; using DevExpress.XtraGrid.Columns; namespace de.Fesslersoft.ExportXtraGridToExcel { public partial class ExportForm : Form { private DataTable _dataTable; public ExportForm() { InitializeComponent(); } private void ExportForm_Load(object sender, EventArgs e) { FillDataTable(); gridViewExport.OptionsBehavior.AutoPopulateColumns = true; gridViewExport.OptionsBehavior.ReadOnly = true; gridViewExport.OptionsBehavior.Editable = false; gridControlExport.DataSource = _dataTable; } private void FillDataTable() { //https://documentation.devexpress.com/#WindowsForms/CustomDocument2240 SqlConnectionStringBuilder connectionStringBuilder = new SqlConnectionStringBuilder { DataSource = "localhost", IntegratedSecurity = true, InitialCatalog = "Northwind" }; using (SqlConnection connection = new SqlConnection(connectionStringBuilder.ToString())) { connection.Open(); string queryCommand = "SELECT TOP 100 [ProductID],[ProductName],[SupplierID],[CategoryID],[QuantityPerUnit],[UnitPrice],[UnitsInStock],[UnitsOnOrder],[ReorderLevel],[Discontinued] FROM [Northwind].[dbo].[Products]"; using (SqlDataAdapter adapter = new SqlDataAdapter(queryCommand, connection)) { _dataTable = new DataTable(); adapter.Fill(_dataTable); } } } private void ExportToExcel() { //https://www.devexpress.com/Support/Center/Question/Details/Q430217 //https://documentation.devexpress.com/#WindowsForms/CustomDocument1874 //storing current layout gridViewExport.SaveLayoutToXml(@"C:\Users\mf\Desktop\Neuer Ordner\tempLayout.xml"); foreach (GridColumn column in gridViewExport.Columns) { //make all export columns visible column.Visible = true; } gridViewExport.ExportToXls(@"C:\Users\mf\Desktop\Neuer Ordner\export.xls"); //restoring the layout, the layout file needs to be deleted manually gridViewExport.RestoreLayoutFromXml(@"C:\Users\mf\Desktop\Neuer Ordner\tempLayout.xml"); } private void buttonExportToExcel_Click(object sender, EventArgs e) { ExportToExcel(); XtraMessageBox.Show("Export successfull!", this.Text, MessageBoxButtons.OK,MessageBoxIcon.Information,MessageBoxDefaultButton.Button1); } } }
VB.NET Sample
Imports System.Data.SqlClient Imports DevExpress.XtraEditors Imports DevExpress.XtraGrid.Columns Public Partial Class ExportForm Inherits Form Private _dataTable As DataTable Public Sub New() InitializeComponent() End Sub Private Sub ExportForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load FillDataTable() gridViewExport.OptionsBehavior.AutoPopulateColumns = True gridViewExport.OptionsBehavior.[ReadOnly] = True gridViewExport.OptionsBehavior.Editable = False gridControlExport.DataSource = _dataTable End Sub Private Sub FillDataTable() 'https://documentation.devexpress.com/#WindowsForms/CustomDocument2240 Dim connectionStringBuilder As New SqlConnectionStringBuilder() With { _ .DataSource = "localhost", _ .IntegratedSecurity = True, _ .InitialCatalog = "Northwind" _ } Using connection As New SqlConnection(connectionStringBuilder.ToString()) connection.Open() Dim queryCommand As String = "SELECT TOP 100 [ProductID],[ProductName],[SupplierID],[CategoryID],[QuantityPerUnit],[UnitPrice],[UnitsInStock],[UnitsOnOrder],[ReorderLevel],[Discontinued] FROM [Northwind].[dbo].[Products]" Using adapter As New SqlDataAdapter(queryCommand, connection) _dataTable = New DataTable() adapter.Fill(_dataTable) End Using End Using End Sub Private Sub ExportToExcel() 'https://www.devexpress.com/Support/Center/Question/Details/Q430217 'https://documentation.devexpress.com/#WindowsForms/CustomDocument1874 'storing current layout gridViewExport.SaveLayoutToXml("C:\Users\mf\Desktop\Neuer Ordner\tempLayout.xml") For Each column As GridColumn In gridViewExport.Columns 'make all export columns visible column.Visible = True Next gridViewExport.ExportToXls("C:\Users\mf\Desktop\Neuer Ordner\export.xls") 'restoring the layout, the layout file needs to be deleted manually gridViewExport.RestoreLayoutFromXml("C:\Users\mf\Desktop\Neuer Ordner\tempLayout.xml") End Sub Private Sub buttonExportToExcel_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click ExportToExcel() XtraMessageBox.Show("Export successfull!", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) End Sub End Class
If you have any questions or suggestions feel free to rate this snippet, post a comment or Contact Us via Email.
Related links:
- Export GridView’s data to Excel
- Saving and Restoring Layout Basics
- How to: Bind a Control to a Database at Runtime
Export Gridview data to #Excel using #devexpress #XtraGrid-> https://t.co/Hn6rvxYwFh #csharp #vb #dotnet
RT @CodeSnippetsNET: Export Gridview data to #Excel using #devexpress #XtraGrid-> https://t.co/Hn6rvxYwFh #csharp #vb #dotnet
RT @CodeSnippetsNET: Export Gridview data to #Excel using #devexpress #XtraGrid-> https://t.co/Hn6rvxYwFh #csharp #vb #dotnet
RT @CodeSnippetsNET: Export Gridview data to #Excel using #devexpress #XtraGrid-> https://t.co/Hn6rvxYwFh #csharp #vb #dotnet
Export Gridview data to #Excel using #devexpress #XtraGrid via @codesnippetsNET -> https://t.co/y9LA6qWx4V #csharp #vb #dotnet