You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Apache POI 5生成docx项目符号列表却输出编号列表如何解决?

问题根因

你生成的numbering.xml中<w:lvl>节点缺少必填的w:ilvl(列表级别标识)属性,兼容性较差的文档阅读器(LibreOffice、Mac版Word、Slack预览等)无法识别这是一级项目符号列表,会默认降级为编号列表展示。

解决方案

修改创建列表级别的代码,新增指定ilvl属性的逻辑,只需要在原有代码的CTLvl cTLvl = cTAbstractNum.addNewLvl();行后新增一行代码即可:

cTLvl.setIlvl(BigInteger.valueOf(0));

修改后对应代码片段

//Bullet list
CTLvl cTLvl = cTAbstractNum.addNewLvl();
cTLvl.setIlvl(BigInteger.valueOf(0)); // 新增指定列表级别为一级
cTLvl.addNewNumFmt().setVal(STNumberFormat.BULLET);
cTLvl.addNewSuff().setVal(STLevelSuffix.SPACE);
cTLvl.addNewLvlText().setVal("•");

修改后重新生成的docx文件,在所有兼容OpenXML标准的阅读器中都会正确显示为项目符号列表。

内容的提问来源于stack exchange,提问作者MTilsted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 00:45:03