Excel Interop - 保存前设置文件名
Excel Interop - Set filename before saving
是否可以在文件保存前设置 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 文档:https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas.aspx
不幸的是,没有明确的、万无一失的方法可以在保存之前执行此操作。最接近的是使用模板。如果您有一个名为 FOO.xltx
的模板,您可以像这样创建工作簿:
Application.Workbooks.Add "X:\path\to\FOO.xltx"
唯一的怪癖是新文档的名称将附加一个递增的数字(第一次是FOO1
,然后是FOO2
、FOO3
,等等)。
要创建模板,只需创建一个新文档,然后在保存时,从 Save as type
下拉列表中选择 select Excel Template (*.xltx)
。
是否可以在文件保存前设置 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 文档:https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas.aspx
不幸的是,没有明确的、万无一失的方法可以在保存之前执行此操作。最接近的是使用模板。如果您有一个名为 FOO.xltx
的模板,您可以像这样创建工作簿:
Application.Workbooks.Add "X:\path\to\FOO.xltx"
唯一的怪癖是新文档的名称将附加一个递增的数字(第一次是FOO1
,然后是FOO2
、FOO3
,等等)。
要创建模板,只需创建一个新文档,然后在保存时,从 Save as type
下拉列表中选择 select Excel Template (*.xltx)
。