java - XWPFRun.setText() 似乎不尊重换行符或制表符?

标签 java ms-office apache-poi doc

这是示例代码,“\t”不适用于此 setText 方法?:

XWPFDocument document = new XWPFDocument();
XWPFParagraph tp = document.createParagraph();
XWPFRun tRun = tp.createRun();
tRun.setText("a");
tRun.setText("\t"); // not work
tRun.setText("b");

FileOutputStream outStream = null;
try {
    outStream = new FileOutputStream("testTabWithPOI.doc");
    document.write(outStream);
    outStream.close();
} catch (FileNotFoundException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

最佳答案

这不是在运行中添加制表符或换行符的方式。 Microsoft Words 生成文件的方式是添加特殊的中断样式元素,因此您也需要在 Apache POI 中执行此操作,因为这就是格式的工作原理。

您可以在 testAddTabsAndLineBreaks() of TestXWPFRun 中看到添加标签的示例。您的代码需要是:

XWPFRun tRun = tp.createRun();
tRun.setText("a");
tRun.addTab();
tRun.setText("b");

(您还需要使用 Apache POI 的新副本才能支持 addTab())

关于java - XWPFRun.setText() 似乎不尊重换行符或制表符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562741/

相关文章:

java - ColdFusion 8 读取大型 Excel 文件

java - 使用 POI 读取 Excel 文件时如何修复 java.lang.ExceptionInInitializerError?

java - Apache POI Workbook 向 OutputStream 写入奇怪的字符

java - 设置用户凭据时 Youtube Java API 出错

wpf-controls - 适用于 WPF 的 Microsoft 功能区与 Office 功能区 UI

url - MS Word 2010 邮件合并 : dynamic url, 相同文本

office365 - 创建包含变体的 PowerPoint 模板 - 搜索 Microsoft 的 Variant Creator

Java - 未找到 JDBC MySQL 驱动程序 Netbeans Win8

java - 如何重新加载/刷新代号一中的组件?

java - 尊重包含类名的变量的 DRY 原则