在C#中,如何把DataGridview中的数据导出到一个Excel表中
本人想把窗体中DataGridview内的数据通过一按钮导出到一张Excel表中,但不知该怎么搞,哪位高手帮帮忙啊命名空间是什么呢,要下载第三方控件么,小弟愚笨还望哪位高...
本人想把窗体中DataGridview内的数据通过一按钮导出到一张Excel表中,但不知该怎么搞,哪位高手帮帮忙啊
命名空间是什么呢,要下载第三方控件么,小弟愚笨还望哪位高手指点指点,谢谢! 展开
命名空间是什么呢,要下载第三方控件么,小弟愚笨还望哪位高手指点指点,谢谢! 展开
2个回答
展开全部
真是巧,我昨天刚刚做了这个
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;
}
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”。是否缺少程序集引用?
追答
解决方案及资源管理器里面有个引用,你添加一下就可以了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询