问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

通过按钮点击 使datagridview导出到excel

发布网友 发布时间:2022-04-20 18:41

我来回答

1个回答

热心网友 时间:2022-04-27 13:31

先获取grid的itemsouces转换Datatable
#region 从DataSet到出到Excel

/**/
/// <summary>
/// 执行导出
/// </summary>
/// <param name="ds">要导出的DataTable </param>
/// <param name="toFileName">要导出到的execl文件路径+文件名</param>ps:如果是c/s程序,那您直接丢一openFileDialog就方便多了
/// <param name="strExcelFileName">导出到的execl的Sheet名</param>
private void doExport(DataTable dt, string toFileName, string strSheetName)
{

Excel.Application excel = new Excel.Application(); //Execl的操作类
//读取保存目标的对象
Excel.Workbook bookDest = excel.Workbooks._Open(toFileName, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value
, Missing.Value, Missing.Value, Missing.Value, Missing.Value);//打开要导出到的Execl文件的工作薄。--ps:关于Missing类在这里的作用,我也不知道...囧

Excel.Worksheet sheetDest = bookDest.Worksheets.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value) as Excel.Worksheet;//给工作薄添加一个Sheet

sheetDest.Name = strSheetName;//自己定义名字O(∩_∩)O哈哈~

int rowIndex = 1;
int colIndex = 0;

excel.Application.Workbooks.Add(true);//这句不写不知道会不会报错

foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[1, colIndex] = col.ColumnName;//Execl中的第一列,把DataTable的列名先导进去
}

//导入数据行
foreach (DataRow row in dt.Rows)
{
rowIndex++;
colIndex = 0;
foreach (DataColumn col in dt.Columns)
{
colIndex++;
sheetDest.Cells[rowIndex, colIndex] = row[col.ColumnName].ToString();
}
}

bookDest.Saved = true;

bookDest.Save();
excel.Quit();
excel = null;

GC.Collect();//垃圾回收
}
#endregion
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 excel 2007滚动条短而难操作、一拉到1045876行的囧... EXCEL:跟上次差不多,这函数该怎么写?囧 铁锅里的厚厚的黑垢 铁锅内部黑垢致癌吗? 铁锅里面的黑垢怎样去除 铁锅里面的黑色的东西怎么去除 为什么炒锅里面在这么洗都是黑的 铁锅不管怎么洗都有黑色怎么办? 炒锅内壁变黑怎么清洗 铁锅内部的黑垢很厚怎么去除 铁锅内的黑色污点如何去除呢? 铁锅里面的黑垢怎么去除 眼睛上火吃什么药 宝宝上火应该吃什么,适合2岁宝宝的。 宝宝上火后,吃什么食物可以下火呢? 小孩子爱眯眼,眼睛容易干涩,吃什么比较好? 宝宝上火怎么办?吃什么食物可以给宝宝下火? 儿童上火吃什么食物好 小孩老是上火吃什么食物好 五个月宝宝上火有眼屎该给他吃什么水果?有哪些食... 中国移动卖的靓号安全吗 怎么申请手机靓号? 中国移动每周几发放靓号 夫妻间移动靓号过户新政策2021 想买移动的手机靓号,在哪里能购买呢? 移动给10086发什么可以办理靓号 怎么购买当地移动靓号 如何自己申请手机靓号? 靓号头条的移动靓号可以到营业厅办理吗? 移动靓号最低消费 协议时限? 中国移动周几抢靓号 手机靓号哪里买比较便宜? 想买移动靓号,请问那边可以买到 小苏打加酒精清洗瓷砖缝隙,你觉得真的能清洗干净吗? 瓷砖表面油渍能用苏打洗吗 小苏打清洗浴室里面的瓷砖 小苏打白醋可以刷卫生间地砖 小苏打洗磁砖会有腐蚀性吗 用小苏打清洁地砖会破坏釉质吗? 小苏打怎么拖地板地砖?