在C#中,如何把DataGridview中的数据导出到一个Excel表中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在C#中,如何把DataGridview中的数据导出到一个Excel表中相关的知识,希望对你有一定的参考价值。

本人想把窗体中DataGridview内的数据通过一按钮导出到一张Excel表中,但不知该怎么搞,哪位高手帮帮忙啊
命名空间是什么呢,要下载第三方控件么,小弟愚笨还望哪位高手指点指点,谢谢!

真是巧,我昨天刚刚做了这个
public bool ExportDataGridview(DataGridView gridView, bool isShowExcle)

if (gridView.Rows.Count == 0)

return false;

//创建Excel对象
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);

//生成字段名称
for (int i = 0; i < gridView.ColumnCount;i++)

excel.Cells[1, i + 1] = gridView.Columns[i].HeaderText;

//填充数据
for (int i = 0; i < gridView.RowCount - 1; i++) //循环行

for(int j = 0;j < gridView.ColumnCount ;j++) //循环列

if(gridView[j,i].ValueType==typeof(string))

excel.Cells[i+2,j+1] = "'" + gridView.Rows[i].Cells[j].Value.ToString();

else

excel.Cells[i+2,j+1] = gridView.Rows[i].Cells[j].Value.ToString();



//设置禁止弹出保存和覆盖的询问提示框
excel.Visible = false;
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;

//保存到临时工作簿
//excel.Application.Workbooks.Add(true).Save();
//保存文件

excel.Save("D:" + "\\234.xls");
excel.Quit();
return true;
追问

不行诶,出现错误:1 命名空间“Microsoft”中不存在类型或命名空间名称“Office”。是否缺少程序集引用?

追答

解决方案及资源管理器里面有个引用,你添加一下就可以了

参考技术A using Excel = Microsoft.Office.Interop.Excel;
添加Microsoft.Office.Interop.Excel这个引用追问

可是好像Microsoft没Office这个类型诶,也就是会出现:“命名空间“Microsoft”中不存在类型或命名空间名称“Office”。是否缺少程序集引用?”这样的错误,多多指教,谢谢!

C#编程代码如何从数据库中查询并把查询结果显示在dataGridView?

参考技术A

最简单的

写一个数据查询类.然后调用xx.chaxun方法

窗体代码写以下这些就可以了

sql = "select * from xxxx";

Datatable dt = xx.chaxun(sql);

datagridview1.DataSource = dt;

记得将datagridview里面的字段与表中的字段相关联

Dateset 或DataTable或集合进行数据绑定,如有什么问题,请继续追问 private DataSet ds = new DataSet();

private SqlDataAdapter adapter = new SqlDataAdapter();//创建数据适配器

SqlCommand com = new SqlCommand("select TeacGuid, TeacName as 姓名,TeacSex as 性 别,TeacSalary as 工资,TeacRemark as 备注 from Teachers", DBHelper.con);

adapter.SelectCommand = com;

adapter.Fill(ds, "Teachers");//将按照条件查出来的Teachers表中信息填充到ds中

this.dataGridView1.DataSource = ds.Tables["Teachers"]; 附上一段用DataSet实现的代码。

以上是关于在C#中,如何把DataGridview中的数据导出到一个Excel表中的主要内容,如果未能解决你的问题,请参考以下文章

c# 中如何把实体类绑定到dataGridView并显示出来。

C#编程代码如何从数据库中查询并把查询结果显示在dataGridView?

如何在C#中 双击datagridview1中的一行数据,添加到新的datagridview2中。 B/C VS2010

C# 怎么把数组中的数据添加到datagridview中

如何把dataGridView中的内容向数据库中插入数据

C# winform datagridview如何计算统计