DotNetCore.NPOI和.Net Core 2 MVC Web App
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DotNetCore.NPOI和.Net Core 2 MVC Web App相关的知识,希望对你有一定的参考价值。
我在我的.NET Core 2 MVC Web应用程序中使用DotNetCore.NPOI V1.0.2。我一直在研究使用页眉和页脚创建.docx文档的说明或示例,但没有任何成功。有谁知道如何使用页面编号如Page 1 / x格式创建两行页眉和页脚?
答案
This unit test在给定现有文档的情况下创建标题。我尝试了它,它的工作原理。
但是,我没有找到一种方法来创建一个新的头文件而不首先在源docx中读取。从new XWPFDocument()
创建标头会产生空引用异常。
我的用例的解决方案是使用空的template.docx
播种该东西,根据需要填充它,并将其保存到其他内容中。基于单元测试:
class Program
{
static void Main(string[] args)
{
var here = AppContext.BaseDirectory;
using (var input = new FileStream(Path.Combine(here, "template.docx"), FileMode.Open))
{
var doc = new XWPFDocument(input);
var rawParagraph = new CT_P();
var rawRun = rawParagraph.AddNewR();
var rawText = rawRun.AddNewT();
rawText.Value = "Paragraph in header";
var headerParagraph = new XWPFParagraph(rawParagraph, doc);
var paragraphs = new XWPFParagraph[] { headerParagraph };
var header = doc.GetHeaderFooterPolicy().CreateHeader(XWPFHeaderFooterPolicy.DEFAULT, paragraphs);
// etc for footer
using (var fs = new FileStream(Path.Combine(here, "output.docx"), FileMode.Create, FileAccess.Write))
{
doc.Write(fs);
}
}
}
}
以上是关于DotNetCore.NPOI和.Net Core 2 MVC Web App的主要内容,如果未能解决你的问题,请参考以下文章