在需要导出表格数据时需要,先获取输入的过滤值,可以通过以下代码获取:
string shortNameSearchStr = "";
//获取输入的过滤值
if (gridView1.FocusedColumn.FieldName == "简称" )
{
customerShortNameSearchStr = gridView1.Columns["简称"].FilterInfo.Value.ToString();
}
设置需要导出的内容
string sql = "Select * from v2_order where 1=1";
if (customerShortNameSearchStr!="")
{
sql += " and 简称='"+shortNameSearchStr + "'";
}
sql += " order by 业务日期, 提货Id";
var dataTableCollection = new CommonData().GetDataSet( sql ).Tables;
if (dataTableCollection != null)
{
DataTable datasource = dataTableCollection[0];
if (datasource == null)
{
XtraMessageBox.Show("无法导出数据,请检查");
}
Export(datasource);
}
导出方法:
public void Export(DataTable datasource)
{
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.DefaultExt = "xls";
saveFileDialog.Filter = "Excel文件|*.xls";
string filename = "order_" + DateTime.Now.ToString("yyyyMMdd") + "_" + DateTime.Now.Hour.ToString() + "." +
DateTime.Now.Minute.ToString();
saveFileDialog.FileName = filename;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
GridControl grid = new GridControl();
;
GridView view = new GridView();
grid.ViewCollection.Add(view);
grid.MainView = view;
view.GridControl = grid;
foreach (DataColumn dc in datasource.Columns)
{
GridColumn gridColumnNumber = view.Columns.AddVisible(dc.ColumnName);
gridColumnNumber.FieldName = dc.ColumnName;
}
grid.DataSource = datasource;
this.Controls.Add(grid); //重要
grid.ForceInitialize(); //重要
view.BestFitColumns();
view.HorzScrollVisibility = DevExpress.XtraGrid.Views.Base.ScrollVisibility.Always;
view.OptionsPrint.AutoWidth = false;
view.ExportToXls(saveFileDialog.FileName);
XtraMessageBox.Show("导出成功");
}
}