软件下载 | 资讯教程 | 最近更新 | 下载排行 | 一键转帖 | 发布投稿
您的位置:最火下载站 > 电脑教程 > 编程开发 > C#专区 > C# winform中 DataGridView 按显示顺序 导出到Excel

C# winform中 DataGridView 按显示顺序 导出到Excel

本人不才,想用vs里面自带的方法解决DataGridView 列头经过 DisplayIndex 排序后的导出Excel,

使显示顺序和导出顺序一致,但是没有找到相应的方法,只好自己写了个:

Copy to ClipboardLiehuo.Net Codes引用的内容:[www.veryhuo.com]
private void DataDiaplayOrderToExcel(DataGridView ordgv)
{
string[] array = new string[ordgv.Columns.Count];

//获取Visble =true 的列
foreach (DataGridViewColumn column in ordgv.Columns)
{
if (column.Visible == true)
{
array[column.DisplayIndex] = column.HeaderText;
}
}
if (array.Length <= 0)
{
MessageBox.Show("NO Data");
return;
}
DataGridView dgv = new DataGridView();
dgv = ordgv;

//创建并打开Excel
Excel.Application myExcel = new Excel.Application();
myExcel.Application.Workbooks.Add(true);
myExcel.Visible = true;

int RowsCount = dgv.Rows.Count;
int ColumnsCount = array.Length;
int mm = 1;
for (int i = 0; i < ColumnsCount; i++)
{
string ColumnName;
try
{
ColumnName = array.GetValue(i).ToString();
}
catch
{
continue;
}
//导出列名
myExcel.Cells[1, mm] = ColumnName;
//导出列内容
for (int m = 0; m < RowsCount; m++)
{
try
{
myExcel.Cells[m + 2, mm] = dgv.Rows[m].Cells[ColumnName].Value.ToString();
}
catch
{ }
}
//执行完一列 mm++
mm++;

}

myExcel.Columns.EntireColumn.AutoFit();


}
    相关阅读
    网友评论