博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
winform datagridview 导出excel
阅读量:5328 次
发布时间:2019-06-14

本文共 2928 字,大约阅读时间需要 9 分钟。

#region【方法:导出excel事件响应方法】        private void btnExport_Click(object sender, EventArgs e)        {            string a = "D:" + "\\DataView.xls";            ExportExcels(a, dgDataView);        }        #endregion

  

#region【导出excel方法】        ///         /// 文件路径        /// 控件DataGridView        ///         private void ExportExcels(string fileName, DataGridView myDGV)        {            string saveFileName = "";            SaveFileDialog saveDialog = new SaveFileDialog();            saveDialog.DefaultExt = "xls";            saveDialog.Filter = "Excel文件|*.xls";            saveDialog.FileName = fileName;            saveDialog.ShowDialog();            saveFileName = saveDialog.FileName;            if (saveFileName.IndexOf(":") < 0) return; //被点了取消            Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();            if (xlApp == null)            {                MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel");                return;            }            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];//取得sheet1                                                                                                                                  //写入标题            for (int i = 0; i < myDGV.ColumnCount; i++)            {                worksheet.Cells[1, i + 1] = myDGV.Columns[i].HeaderText;            }            float sumcount = 0;            //写入数值            if(myDGV.Rows.Count < numMaxCount.Value)            {                sumcount = myDGV.Rows.Count;            }            else            {                sumcount = (float)numMaxCount.Value;            }            for (int r = 0; r < sumcount; r++)            {                for (int i = 0; i < myDGV.ColumnCount; i++)                {                    worksheet.Cells[r + 2, i + 1] = myDGV.Rows[r].Cells[i].Value;                }                System.Windows.Forms.Application.DoEvents();            }            worksheet.Columns.EntireColumn.AutoFit();//列宽自适应            if (saveFileName != "")            {                try                {                    workbook.Saved = true;                    workbook.SaveCopyAs(saveFileName);                }                catch (Exception ex)                {                    MessageBox.Show("导出文件时出错,文件可能正被打开!\n" + ex.Message);                }            }            xlApp.Quit();            GC.Collect();//强行销毁            MessageBox.Show("文件: " + fileName + ".xls 保存成功", "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);        }        #endregion        #endregion        }

  

转载于:https://www.cnblogs.com/yanranziruo/p/10429975.html

你可能感兴趣的文章
Ajax方法实现登录页面
查看>>
回调函数
查看>>
FreeBSD下使用Blogbio写cnblogs博客
查看>>
Hive视图
查看>>
Ajax实现--javascript
查看>>
【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep
查看>>
POJ 2260:Error Correction
查看>>
ES6 语法糖
查看>>
不同浏览器css引入外部字体的方式
查看>>
Java Integer 对象的比较
查看>>
Activiti开发案例之代码生成工作流图片
查看>>
angularJs完成分页
查看>>
【原创】Mapped Statements collection does not contain value for DaoImpl.method
查看>>
docker nginx 反向代理
查看>>
SWUST OJ Coin Changing
查看>>
eclipse重定向输入输出到文件
查看>>
SGDMA
查看>>
20145235李涛《网络对抗》Exp8 Web基础
查看>>
Git-SSH
查看>>
使用JavaMail发送邮件-从FTP读取图片并添加到邮件正文发送
查看>>