c# 按导出按钮,将datagridview1数据导出到excel,不保存则点击取消按钮返回。大神请看下异常。

privatevoid导出_Click(objectsender,EventArgse){ExportDataGridview(dataGridView1,true);}... private void 导出_Click(object sender, EventArgs e)
{

ExportDataGridview(dataGridView1, true);
}
public bool ExportDataGridview(DataGridView dataGridView1, bool isShowExcle)
{

if (dataGridView1.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 < dataGridView1.ColumnCount; i++)
{
excel.Cells[1, i + 1] = dataGridView1.Columns[i].HeaderText;
}
//填充数据
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
//循环行
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
//循环列
{
if (dataGridView1[j, i].ValueType == typeof(string))
{
excel.Cells[i + 2, j + 1] = "'" + dataGridView1.Rows[i].Cells[j].Value.ToString();
}
else
{
excel.Cells[i + 2, j + 1] = dataGridView1.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.Save();//----------------------------提示:异常来自HRESULT:Ox800A03EC
excel.Quit();
return true;
}
展开
 我来答
Lastoco
2014-04-24 · TA获得超过121个赞
知道小有建树答主
回答量:312
采纳率:100%
帮助的人:226万
展开全部
点击保存可以正常保存,点击取消后报错吗?
更多追问追答
追问
是得,点击保存是成功的,但是点击取消就报错。。。上网查了好久,也不知道哪里的问题。
追答

关于这个问题,我也不知道明确的解决方案,暂时提供一下帮助。

  1. try ...catch 直接无视这个问题;

  2. 不要让他弹出那个保存取消的页面,直接保存,成功后弹框提示成功;(我用的这种)

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式