c .net core word操作与文件合并
工作中按照客户要求需要导出word文档或者pdf,研究了一下我将其记录下来希望能帮助需要的。废话不多说简单说一下步骤:第一步读取word模板,然后从数据库中读取要合并的数据,将word指定的标签替换然后保存word。这时候我们有多个word在磁盘上我们将它合并成一个word返回给用户下载。
我使用的是.net core ,需要用到Spire.Doc这个东西三三,要了解具体用法自行百度,ok 接下来我们在NuGet获取Spire.Doc用Free版的就可以了。
安装之后我们就可以直接使用了。百度有很多教程这里就不多罗嗦了。
我们先来看看word模板,画红框的是需要替换成实际内容。具体我们看看代码。
Document document = new Document(tempFile);加载word文档,然后使用document.Replace("aqh", “替换的内容”, false, true);最后使用 document.SaveToFile(”保存的路径“, FileFormat.Docx2013);
最后找到保存的路径将下面的word 合并成一个即可,之前合并样式混乱不堪,后来还是解决了现附上核心代码。
Document DocOne = new Document(); Document DocTwo = new Document();string filePath_2 = file.ToString(); string tempFile1 = Path.GetFullPath(filePath_2).ToString(); DocTwo.LoadFromFile(tempFile1, FileFormat.Docx); foreach (Section sec in DocTwo.Sections) { DocOne.Sections.Add(sec.Clone()); }