Excel Interop - 保存前设置文件名

时间:2017-05-12 18:47:20

标签: 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 sheet = workbook.Sheets[1];

sheet.Cells[1, 1] = "Hello World!";

是否可以在保存前预定义此名称?

enter image description here

感谢。

2 个答案:

答案 0 :(得分:2)

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

Application.Workbooks.Add "X:\path\to\FOO.xltx"

唯一的怪癖是新文档的名称将附加一个递增的数字(第一次为FOO1,然后是FOO2FOO3等。

要创建模板,只需创建一个新文档,然后在保存时,从Excel Template (*.xltx)下拉列表中选择Save as type

答案 1 :(得分:1)

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

workbook.SaveAs(Filename: FILENAMEHERE);

以下是MSDN文档:https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas.aspx