public static void ExportExcelFile(DevExpress.Xpf.Grid.TableView tableView) { if (tableView == null) { MessageBox.Show("导出失败!", "错误提示", MessageBoxButton.OK, MessageBoxImage.Error); return; } SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.InitialDirectory = "c:\"; saveFileDialog.Filter = "Excel(*.xls)|*.xls|Excel2007(*.xlsx)|*.xlsx"; saveFileDialog.RestoreDirectory = true; saveFileDialog.FilterIndex = 1; bool? result = saveFileDialog.ShowDialog(); if (result == true) { string filename = saveFileDialog.FileName; int index = filename.IndexOf("."); string suffix = filename.Substring(index + 1); if (suffix == "xls") { tableView.ExportToXls(filename); } else { tableView.ExportToXlsx(filename); } MessageBox.Show("导出成功!", "信息提示", MessageBoxButton.OK, MessageBoxImage.Information); } } public static void ExportExcelFile(DataTable dt) { if (dt == null) return; //gridControl.View.ExportToXlsx() SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.InitialDirectory = "c:\"; saveFileDialog.Filter = "Excel(*.xls)|*.xls|Excel2007(*.xlsx)|*.xlsx"; saveFileDialog.RestoreDirectory = true; saveFileDialog.FilterIndex = 1; bool? result = saveFileDialog.ShowDialog(); if (result == true) { string filename = saveFileDialog.FileName; //int index = filename.IndexOf("."); //string suffix = filename.Substring(index + 1); Workbook workbook = new Workbook(); //清除页先 要不然 新建就有一个sheet workbook.Worksheets.Clear(); workbook.Worksheets.Add(dt.TableName); Worksheet sheet = workbook.Worksheets[0]; Cells cells = sheet.Cells; //单元格 int colnum = dt.Columns.Count; //表格列数 int rownum = dt.Rows.Count; //表格行数 //for (int x = 0; x < colnum; x++) //{ // cells[0, x].PutValue(dt.Columns[x].ColumnName); //} for (int x = 0; x < rownum; x++) { for (int y = 0; y < colnum; y++) { if (x == 0) cells[x, y].PutValue(dt.Columns[y].ColumnName); cells[x + 1, y].PutValue(dt.Rows[x][y].TrimOrNull()); } } SetColumnWithAuto(sheet); workbook.Save(filename); MessageBox.Show("导出成功!", "信息提示", MessageBoxButton.OK, MessageBoxImage.Information); } dt.Clear(); dt.Dispose(); dt = null; }