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 Restaurant& Cafe电话号码#12313531发票编号120类型:C-6客户名称:29 05 2015 ---------------------- -----------------产品数量价格合计----------------------------- ---------- fr。egg + toast但是.jam 1 110.0 110.0 ----------------------------- ----------折扣:0%小计:110.0现金:200余额:90.0“
我希望获得与控制台相同的内容。请尽快帮助。
答案 0 :(得分:0)
我可能错了。但据我所知,XWPFRun会忽略字符串中的所有\ n。因此,尝试将run.setText(text)与样式文本一起使用会不合时宜地为您提供无样式的文本。您必须设置文本创建运行的样式。 这样的事情可能会有效,但我现在还没有测试过它:
XWPFParagraph p = doc.createParagraph();
for(Sting s:text.split("\n")){
XWPFRun = p.createRun();
run.setText(s);
}
这不会保留String中的所有样式信息。您只需使用XWPFRnns生成样式化输出。