猿问

使用现有的 .doc 和 .net core 查找和替换

我正在尝试在我创建并添加到我的 .net 核心项目中的 word 文档模板中查找和替换特定的单词/字符串。


我目前正在使用 NPOI 来做到这一点,但我似乎无法弄清楚,因为我的 C# 知识不是很好!


理论上我想阅读现成的 .docx 模板,然后替换我需要的内容,然后保存它。


我已经尝试了我能想到的所有方法,但仍然无法正常工作。


这是我留下的代码:


var docUrl = @"App_Data/Document_Template.docx";


using (FileStream file = new FileStream(docUrl, FileMode.Open, FileAccess.Read))

        {

            XWPFDocument doc = new XWPFDocument(file);


            // get the document template using docUrl and replace string with another string.


            doc.Write(file);


        }

任何帮助都会很棒,因为我花了很多时间研究并尝试实现这一点,只是没有任何运气!


暮色呼如
浏览 238回答 1
1回答

慕森卡

要替换 MS Word 中的特定单词,首先您应该从 nuget 添加以下参考:Install-Package Microsoft.Office.Interop.Word此示例代码用另一个替换指定的字符串:namespace MSWordReplacement{    class Program    {        static void Main(string[] args)        {            Application app = new Application();            Document doc = app.Documents.Open(@"C:\Sample.docx");            // Assign a search string to a variable.            object findText = "Find me.";            // Clear formatting from previous searches.            app.Selection.Find.ClearFormatting();            if (app.Selection.Find.Execute(ref findText))            {                // Replace new text.                app.Selection.Text = "You found me!";            }            else            {                // Do somthing else.            }            doc.Close(true);            app.Quit();        }    }}警告你应该知道这个包正在工作,但它可能与 dot net core 不完全兼容!
随时随地看视频慕课网APP
我要回答