是否有可能在关闭 Excel 之前创建和打开由 EPPlus 生成的 XLSX(非宏)文件并强制显示“另存为对话框”?
我的场景:
我使用 EPPlus 创建 XLSX 文件并将其存储到我的应用程序的临时文件夹中。然后我立即调用该文件运行(Excel 将打开并加载我的文件)。在没有任何更改的情况下,我关闭 Excel - 此时我想强制对话框“另存为”将此文件保存到其他目录(不是我的临时目录)。您可以通过文件的任何属性(或其他方式)强制显示此对话框吗?
已解决 XLSM:
如果有人需要使用 EPPlus 为 Excel 宏文件 (XLSM) 显示此“另存为”对话框,方法如下:
OfficeOpenXml.ExcelPackage Package;
Package.Workbook.CreateVBAProject();
OfficeOpenXml.VBA.ExcelVBAModule excelVbaModule =
Package.Workbook.VbaProject.Modules.AddModule("Module1");
StringBuilder mac = new StringBuilder();
mac.AppendLine("Sub Auto_Close()");
mac.AppendLine("Application.Dialogs(xlDialogSaveAs).Show");
mac.AppendLine("End Sub" );
excelVbaModule.Code = mac.ToString();
Package.Save()
你能帮我处理不是宏文件吗?(但也许不可能)
谢谢。
根据你的回答我做了什么?
我尝试使用EPPlusSaveAs
中的(而不是原来的):.Save()
System.IO.FileInfo fileInfo = new System.IO.FileInfo(targetTemporaryFile);
if (fileInfo.Exists) { fileInfo.Delete(); }
Package.SaveAs(fileInfo);
但没有显示任何对话框。