首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将字符串映射到与控制台相同的XWPFDocument

将字符串映射到与控制台相同的XWPFDocument
EN

Stack Overflow用户
提问于 2015-05-29 11:57:05
回答 1查看 102关注 0票数 0

我使用XWPFDocument为发票生成.docx。我在控制台上设计了如下所示的字符串

代码语言:javascript
复制
    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的代码是:

代码语言:javascript
复制
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上看到的一样,试着尽快提供帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 09:58:26

这事我可能错了。但据我所知,XWPFRun忽略了字符串中的所有\n。因此,尝试将run.setText(文本)与样式文本一起使用将给您带来不幸的非样式文本。您必须为文本创建运行样式。像这样的东西可能确实有效,但我现在还没有测试过它:

代码语言:javascript
复制
XWPFParagraph p = doc.createParagraph();
for(Sting s:text.split("\n")){
    XWPFRun = p.createRun();
    run.setText(s);
}

这将不会保存您的字符串的所有样式信息。您只需使用XWPFRuns生成样式输出即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30529009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档