我正在使用
将一堆计算数据保存到excel文件中if (result == DialogResult.OK && saveFileDialog1.FileName != "")
{
xl.DisplayAlerts = false;
wb.SaveAs(fn, XlFileFormat.xlOpenXMLWorkbook, Missing.Value,
Missing.Value, false, false, XlSaveAsAccessMode.xlNoChange,
XlSaveConflictResolution.xlUserResolution, true,
Missing.Value, Missing.Value, Missing.Value);
wb.Close(true, misValue, misValue);
xl.Quit();
releaseObject(ws);
releaseObject(wb);
releaseObject(xl);
}
else if (result == DialogResult.Cancel)
{
wb.Close(true, misValue, misValue);
xl.Quit();
releaseObject(ws);
releaseObject(wb);
releaseObject(xl);
}
当我按OK
时一切正常,但如果我CANCEL
保存,那么另一个“通用”保存窗口会显示出来吗?我在项目中没有其他SaveFileDialogs
,我的假设是它来自Excel对象保存文件对话框,但我真的不知道如何摆脱这个?
xl
是interop
对象,ws
是工作表,wb
是工作簿
TA
答案 0 :(得分:2)
设置'保存'在调用Close方法之前,工作簿的属性为true。
像这样:
else if (result == DialogResult.Cancel)
{
wb.Saved = true;
wb.Close(true, misValue, misValue);
xl.Quit();
releaseObject(ws);
releaseObject(wb);
releaseObject(xl);
}
希望这会有所帮助。