ASP.NET:修改并下载docx文件

问题描述

我有一个docx文件,我想根据网络用户的输入进行修改。因此,在用户在网页上提交表单后,我需要修改原始docx文件,然后将其下载给用户

我尝试将原始文件存储为项目中的资源文件,但是无法以编程方式打开它。 那就是我在后控制器中尝试过的:

using Microsoft.Office.Interop.Word;
...
Application app = new Application();
Document document = app.Documents.Open(Properties.Resources.___,ReadOnly: false);

但是我收到了System.Runtime.InteropServices.COMException (0x80020005 (disP_E_TYPEMISMATCH))

我也不知道如何下载修改后的文件。在一个简单的控制台应用程序中,document.SaveAs2(newPath);可以工作,但是下载似乎无效。

(我什至不确定这整个方法是否可行。如果我不能以此方式使用Microsoft.Office.Interop.Word,请告诉我。)

解决方法

如果要操作docx文件,最好使用OpenXML API而不是InterOP。参见https://docs.microsoft.com/en-us/office/open-xml/open-xml-sdk?redirectedfrom=MSDN