我使用XWPFDocument为发票生成.docx。我在控制台上设计了如下所示的字符串
XXXX Restaurant & Cafe
Phone No# 12131546
Invoice No. 120
Type: C-6
Customer Name: 29 05 2015
---------------------------------------
Product Qty Price Total
---------------------------------------
fr. egg+toast but. jam
1 110.0 110.0
---------------------------------------
Discount: 0%
Sub total: 110.0
Cash: 200我生成.docx的代码是:
FileOutputStream output = new FileOutputStream(FILE);
XWPFDocument doc = new XWPFDocument();
XWPFParagraph para = doc.createParagraph();
para.setAlignment(ParagraphAlignment.CENTER);
XWPFRun run = para.createRun();
run.setBold(true);
run.setFontSize(11);
doc.write(output);
output.close();但是生成的.docx文本如下所示:
"XXXXXX餐厅及咖啡厅电话No# 12313531型号120号: C-6客户名称:2905 2015egg+toast但是。果酱1 110.0 110.0 - 110.0
我想得到上面的东西,和它在console.Please上看到的一样,试着尽快提供帮助。
发布于 2015-08-19 09:58:26
这事我可能错了。但据我所知,XWPFRun忽略了字符串中的所有\n。因此,尝试将run.setText(文本)与样式文本一起使用将给您带来不幸的非样式文本。您必须为文本创建运行样式。像这样的东西可能确实有效,但我现在还没有测试过它:
XWPFParagraph p = doc.createParagraph();
for(Sting s:text.split("\n")){
XWPFRun = p.createRun();
run.setText(s);
}这将不会保存您的字符串的所有样式信息。您只需使用XWPFRuns生成样式输出即可。
https://stackoverflow.com/questions/30529009
复制相似问题