我是新手使用NPOI XWPF并尝试创建我的第一个文档,到目前为止一切顺利 . 我留下的唯一问题是尝试将文本放在左右对齐的同一行上,我希望它看起来像:
面积:1(左Jstfd)年级/课程:10年级阅读(右Jstfd)
下面是我正在使用的代码片段,它只是将所有文本一起推到页面的左侧...等等
XWPFParagraph p2 = doc.CreateParagraph();
p2.Alignment = ParagraphAlignment.LEFT;
XWPFRun r3 = p2.CreateRun();
r3.SetBold(true);
r3.FontFamily = "Times New Roman";
r3.FontSize = 12;
r3.SetText("Area: " + ah.schoolArea);
XWPFRun r4 = p2.CreateRun();
r4.SetBold(true);
r4.FontFamily = "Times New Roman";
r4.FontSize = 12;
r4.SetText("Grade Level/Course: " + ah.filterParm);
1 回答
在尝试完成(N)POI中的任务之前,了解如何在Microsoft Word本身中完成所述任务总是很好的 . 你不能简单地将一个段落分成一行,你所做的就是
在行尾添加制表位
将其设置为右对齐 .
在左侧键入文本,单击选项卡,在右侧键入文本
不幸的是,XWPFParagraph似乎没有公开tabstop功能 . 但是,XWPFParagraph是CT_P类的包装器,它将1:1映射到基础Office XML格式 . 使用反射,我们可以访问此私有字段并使用它直接添加tabstop .
示例代码:
结果: