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

本人想把窗体中DataGridview内的数据通过一按钮导出到一张Excel表中,但不知该怎么搞,哪位高手帮帮忙啊命名空间是什么呢,要下载第三方控件么,小弟愚笨还望哪位高... 本人想把窗体中DataGridview内的数据通过一按钮导出到一张Excel表中,但不知该怎么搞,哪位高手帮帮忙啊
命名空间是什么呢,要下载第三方控件么,小弟愚笨还望哪位高手指点指点,谢谢!
展开
 我来答
abel_zhu
推荐于2017-11-25 · 超过22用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:56.4万
展开全部
真是巧,我昨天刚刚做了这个
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”。是否缺少程序集引用?
追答
解决方案及资源管理器里面有个引用,你添加一下就可以了
bai704567295
2012-02-17
知道答主
回答量:80
采纳率:0%
帮助的人:21.1万
展开全部
using Excel = Microsoft.Office.Interop.Excel;
添加Microsoft.Office.Interop.Excel这个引用
追问
可是好像Microsoft没Office这个类型诶,也就是会出现:“命名空间“Microsoft”中不存在类型或命名空间名称“Office”。是否缺少程序集引用?”这样的错误,多多指教,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式