【发布时间】:2022-11-30 23:26:08
【问题描述】:
我试图在我的应用程序中将 Microsoft Word 和 Excel 文档转换为 PDF。我知道有一些工具可以使它变得更容易,但我们无法购买它们,所以我尝试使用 Microsoft.Office.Interop。我通过 NuGet Microsoft.Office.Interop.Word 15.0.4795.1001 和 Microsoft.Office.Interop.Excel 15.0.4795.1001 添加。我的代码是:
using Microsoft.Office.Interop.Word;
[HttpPost("getsupportingfilepdf")]
[ProducesResponseType(typeof(SupportFileResponse), StatusCodes.Status200OK)]
public ActionResult GetSupportingFilePDF()
{
Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();
if (appWord.Documents != null)
{
//yourDoc is your word document
Microsoft.Office.Interop.Word.Document wordDocument = appWord.Documents.Open(@"C:\workspace\DatabaseSRS.docx");
string pdfDocName = @"C:\workspace\DatabaseSRS.pdf";
if (wordDocument != null)
{
wordDocument.ExportAsFixedFormat(pdfDocName, WdExportFormat.wdExportFormatPDF);
wordDocument.Close();
}
appWord.Quit();
}
当我尝试运行它时,我得到: System.IO.FileNotFoundException:无法加载文件或程序集“office,Version=15.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c”。该系统找不到指定的文件。 文件名:'office, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c'
我尝试删除并重新添加 NuGet 包,但它仍在发生。关于如何解决这个问题的任何想法?
编辑:我的机器上安装了 Microsoft Office 365。
【问题讨论】:
-
您的计算机上是否安装了 Microsoft Word?
-
Microsoft.Office.Interop是一个使用已安装的 Microsoft Office 产品的软件包,因此您需要安装适当的 MS Office 应用程序。 -
我安装了 Microsoft Office 365
-
Office 365 与桌面版 Office 不同,因此 office interop 不起作用。您可以使用一些项目,例如 OpenXML (learn.microsoft.com/en-us/office/open-xml/working-with-sheets)。
标签: c#