C# Excel互操作-保存前设置文件名

C# Excel互操作-保存前设置文件名,c#,.net,excel,com,excel-interop,C#,.net,Excel,Com,Excel Interop,是否可以在保存文件之前设置excel文件名 我有以下简单的代码: using Excel = Microsoft.Office.Interop.Excel; Excel.Application excel = new Excel.Application(); excel.Visible = true; Excel.Workbook workbook = excel.Workbooks.Add(Excel.XlSheetType.xlWorksheet); Excel.Worksheet she

是否可以在保存文件之前设置excel文件名

我有以下简单的代码:

using Excel = Microsoft.Office.Interop.Excel;

Excel.Application excel = new Excel.Application();
excel.Visible = true;
Excel.Workbook workbook = excel.Workbooks.Add(Excel.XlSheetType.xlWorksheet);
Excel.Worksheet sheet = workbook.Sheets[1];

sheet.Cells[1, 1] = "Hello World!";
是否可以在保存之前预定义此名称


谢谢。

您必须使用
saveas
以所需的文件名保存文件。然后,当用户单击“保存”时,它将只更新先前创建的文件。不幸的是,没有其他办法。代码如下:

workbook.SaveAs(Filename: FILENAMEHERE);

下面是MSDN文档:

不幸的是,在保存之前,没有明确的、万无一失的方法。最接近的方法是使用模板。如果您有一个名为
FOO.xltx
的模板,您可以这样创建工作簿:

Application.Workbooks.Add "X:\path\to\FOO.xltx"
唯一的怪癖是新文档的名称将附加一个递增的数字(
FOO1
第一次,然后是
FOO2
FOO3
,等等)


要创建模板,只需创建一个新文档,保存时,从
另存为类型
下拉列表中选择
Excel模板(*.xltx)

谢谢,但这不是我需要的。在本例中,我们已经保存了文件,在本例中,我希望将工作表作为未保存的文档打开。如果我想关闭Excel,我希望得到这个模式:@RostislavOlshevsky,请澄清您对“保存更改”对话框的意图。是否要阻止该对话框,或在关闭工作簿时强制显示该对话框,即使该对话框已保存?@TnTinMin理想情况下,我根本不想保存该文件。我只想用数据打开Excel,就像上面的例子一样。在这种情况下,当Excel建议我保存文件时,我想要一些预定义的文件名来保存。(如果这是不可能的,那么关于您的选择,我更愿意:“即使工作簿已经保存,也要在关闭时强制显示”)@RostislavOlshevsky,我仍然不清楚您希望完成什么,因为您的最后一条评论暗示我您希望保存它,但不希望同时保存它。如果您的目标是“理想情况下我根本不想保存文件”,那么只需设置`WorkbookReference.Saved=True1。假设在设置该属性和关闭工作簿之间未做任何更改,则无需提示即可关闭工作簿。谢谢@MichaelGunter,这正是我想要的。还有一个问题,是否有某种方法可以保存文件而不必在结尾处增加数字:
(第一次是FOO1,然后是FOO2、FOO3等)
。谢谢,不用了。Excel将在“另存为”对话框中自动追加数字。