DevExpress将GridView导出到Excel

我真的需要这个帮助..我找不到任何互联网上的例子我正在使用DevExpress GridView我需要把它发送到Excel,我得到问题,以循环到每个单元格和列,因为DevExpress包含不同的方法,然后的DataGridView

这是我想写的代码..我真的很感谢你的帮助

public class Form1 : System.Windows.Forms.Form { Microsoft.Office.Interop.Excel.ApplicationClass ExcelApp = new Microsoft.Office.Interop.Excel.ApplicationClass(); string FirstName = "First Name"; string FatherName = "Father Name"; string LastName = "Last Name"; } public Form1() { ExcelApp.Application.Workbooks.Add(Type.Missing); ExcelApp.Columns.ColumnWidth = 20; // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after InitializeComponent call // } private void simpleButton1_Click(object sender, System.EventArgs e) { try { OleDbConnection con = new OleDbConnection(); con.ConnectionString = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=C:\\Users\\pc\\Documents\\Emp.xlsx;Extended Properties=\"Excel 12.0;HDR=Yes\""; con.Open(); DataTable dtSchema; dtSchema = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); OleDbCommand Command = new OleDbCommand ("select * FROM [" + dtSchema.Rows[0]["TABLE_NAME"].ToString() + "]", con); OleDbDataAdapter da = new OleDbDataAdapter(Command); DataSet ds = new DataSet (); da.Fill(ds); dataGrid1.DataSource = ds.Tables[0]; } catch (Exception ex) { MessageBox.Show(ex.Message); } private void ExportBtn_Click(object sender, System.EventArgs e) { for (int i = 1; i < gridView3.Columns.Count + 1; i++) { //ExcelApp.Cells[1, i] = gridView3.Columns[i].HeaderStyleName; } for (int i = 0; i< gridView3.RowCount - 1; i++) { for (int j = 0; j < gridView3.Columns.Count; j++) { ExcelApp.Cells[i + 2, j + 1] = gridView3.Columns[j].ToString(); } } ExcelApp.ActiveWorkbook.SaveCopyAs("C:\\Users\\pc\\Emp.xlsx"); ExcelApp.ActiveWorkbook.Saved = true; ExcelApp.Quit(); } 

我的问题是在导出button的点击事件..有没有这样的事情Row()

要了解XtraGrid的各种导出方法,请通过导出方法和设置

使用GridControl.ExportToXls(String)方法

示例代码片段:

 private void mnuExportTable_ItemClick_1(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { using (SaveFileDialog saveDialog = new SaveFileDialog()) { saveDialog.Filter = "Excel (2003)(.xls)|*.xls|Excel (2010) (.xlsx)|*.xlsx |RichText File (.rtf)|*.rtf |Pdf File (.pdf)|*.pdf |Html File (.html)|*.html"; if (saveDialog.ShowDialog() != DialogResult.Cancel) { string exportFilePath = saveDialog.FileName; string fileExtenstion = new FileInfo(exportFilePath).Extension; switch (fileExtenstion) { case ".xls": gridControl.ExportToXls(exportFilePath); break; case ".xlsx": gridControl.ExportToXlsx(exportFilePath); break; case ".rtf": gridControl.ExportToRtf(exportFilePath); break; case ".pdf": gridControl.ExportToPdf(exportFilePath); break; case ".html": gridControl.ExportToHtml(exportFilePath); break; case ".mht": gridControl.ExportToMht(exportFilePath); break; default: break; } if (File.Exists(exportFilePath)) { try { //Try to open the file and let windows decide how to open it. System.Diagnostics.Process.Start(exportFilePath); } catch { String msg = "The file could not be opened." + Environment.NewLine + Environment.NewLine + "Path: " + exportFilePath; MessageBox.Show(msg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { String msg = "The file could not be saved." + Environment.NewLine + Environment.NewLine + "Path: " + exportFilePath; MessageBox.Show(msg, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } 

参考:
将多个XtraGrid控件导出到单个Excel文件

尝试下面的代码。 SaveFileDialog1是工具也添加需要的引用 –

  Try Dim sv As New SaveFileDialog1 SaveFileDialog1.Filter = "Excel Workbook|*.xlsx" If SaveFileDialog1.ShowDialog() = DialogResult.OK And SaveFileDialog1.FileName <> Nothing Then If SaveFileDialog1.FileName.EndsWith(".xlsx") Then Dim path = SaveFileDialog1.FileName.ToString() GridControlAFP.ExportToXlsx(path) Dim xlApp As New Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet xlWorkBook = xlApp.Workbooks.Open(path) xlWorkSheet = xlWorkBook.Sheets("Sheet") xlWorkSheet.Range("A1:XFD1").EntireColumn.AutoFit() xlWorkBook.Save() xlWorkBook.Close() xlApp.Quit() End If MessageBox.Show("Data Exported to :" + vbCrLf + SaveFileDialog1.FileName, "Business Intelligence Portal", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1) SaveFileDialog1.FileName = Nothing End If Catch ex As Exception End Try