我使用互操作创建了一个word文件,它工作正常。目前我正在传入一个文件路径,以便在找到并替换内部的任何变量之后创建新文件。 理想情况下,我希望它一旦创建文件自动提供/通过浏览器下载文件,并不留下任何东西在服务器硬盘上。这可能吗?这是我用来创建文件的代码;立即下载新创建的文件,而不是保存到磁盘
public static void CreateWordDoc(List<objReplace> lstReplace, String TemplateFile, String OutputPath)
{
var app = new Microsoft.Office.Interop.Word.Application();
var doc = app.Documents.Open(TemplateFile);
var range = doc.Range();
foreach (var ro in lstReplace)
{
range.Find.Execute(FindText: ro.Find, Replace: Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll, ReplaceWith: ro.Replace);
var shapes = doc.Shapes;
foreach (Microsoft.Office.Interop.Word.Shape shape in shapes)
{
var initialText = shape.TextFrame.TextRange.Text;
var resultingText = initialText.Replace(ro.Find, ro.Replace);
shape.TextFrame.TextRange.Text = resultingText;
}
}
doc.SaveAs2(OutputPath);
doc.Close();
System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
}