我使用互操作創建了一個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);
}