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

如何通过Apache POI去除Word列表编号后的默认制表符?

解决Word列表编号后默认制表符的问题

Word列表级别默认会在编号后添加制表符作为分隔,要实现编号后无任何跟随内容,只需在代码中显式设置CTLvl的Suffix属性为STSuffix.NONE即可。

修改后的完整代码如下:

CTAbstractNum cTAbstractNum = CTAbstractNum.Factory.newInstance();
CTLvl cTLvl = cTAbstractNum.addNewLvl();

cTLvl.addNewNumFmt().setVal(STNumberFormat.CHINESE_COUNTING);
cTLvl.addNewLvlText().setVal("%1、"); 
cTLvl.addNewStart().setVal(BigInteger.valueOf(1)); 
// 关键:设置编号后缀为无,替代默认的制表符
cTLvl.addNewSuffix().setVal(STSuffix.NONE);

CTInd cInd = cTLvl.addNewPPr().addNewInd();
cInd.setLeft(BigInteger.valueOf(960 + 120)); 
cInd.setHanging(BigInteger.valueOf(360));

说明

默认情况下,CTLvl的Suffix属性会被自动设置为STSuffix.TAB(制表符),所以生成的编号后会自带制表符。添加cTLvl.addNewSuffix().setVal(STSuffix.NONE);这行代码后,编号会严格按照你定义的%1、显示,后面直接衔接正文,不会有任何额外的分隔符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:15:34