首页 > 代码库 > C#winform中datagridview导出Excel
C#winform中datagridview导出Excel
只需要传入datagridview的name即可。
1 //导出Excel()方法 2 public void ToExcel(DataGridView dataGridView) 3 { 4 //实例化一个Excel.Application对象 5 Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); 6 7 if (excel == null) 8 { 9 UMessageBoxWarning("无法创建Excel对象,可能您的计算机未安装Excel!");10 return;11 }12 try13 {14 //没有数据的话就不往下执行 15 if (dataGridView.Rows.Count == 0)16 return;17 18 //让后台执行设置为不可见,为true的话会看到打开一个Excel,然后数据在往里写 19 excel.Visible = true;20 21 //新增加一个工作簿,Workbook是直接保存,不会弹出保存对话框,加上Application会弹出保存对话框,值为false会报错 22 excel.Application.Workbooks.Add(true);23 //生成Excel中列头名称 24 for (int i = 0; i < dataGridView.Columns.Count; i++)25 {26 if (dataGridView.Columns[i].Visible == true)27 {28 excel.Cells[1, i + 1] = dataGridView.Columns[i].HeaderText;29 }30 31 }32 //把DataGridView当前页的数据保存在Excel中 33 for (int i = 0; i < dataGridView.Rows.Count - 1; i++)34 {35 Application.DoEvents();36 for (int j = 0; j < dataGridView.Columns.Count; j++)37 {38 if (dataGridView.Columns[j].Visible == true)39 {40 if (dataGridView[j, i].ValueType == typeof(string))41 {42 excel.Cells[i + 2, j + 1] = "‘" + dataGridView[j, i].Value.ToString();43 }44 else45 {46 excel.Cells[i + 2, j + 1] = dataGridView[j, i].Value.ToString();47 }48 }49 50 }51 }52 //设置禁止弹出保存和覆盖的询问提示框 53 //...54 //确保Excel进程关闭 55 excel.Quit();56 excel = null;57 GC.Collect();//如果不使用这条语句会导致excel进程无法正常退出,使用后正常退出58 UMessageBoxNone("文件已经成功导出!");59 }60 catch (Exception ex)61 {62 MessageBox.Show(ex.Message);63 }64 65 }
C#winform中datagridview导出Excel
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。