java自动生成项目编号_java - Apache POI,在同一文档中创建项目符号点和编号列表 - 堆栈内存溢出...
我试图用apache poi创建一个既包含圆点又包含编号列表的文档。 我想得到这样的结果。
名单:
清单1项目0
清单1项目1
清单1项目2
列表后的段落。
清单2:
清单2项目0
清单2项目1
清单2项目2
清单之后的段落2。
如果我尝试在两个不同的文档中创建两个列表,则一切正常。
但是,如果它们在同一个文档中,我只会得到创建的第一个样式。
例如,在下面的代码中,我首先创建项目符号点列表,然后创建编号。 但是生成的文档包含两个项目符号点列表。
我认为问题在于文档认为第一个列表仍处于打开状态,并且对下一个列表也使用相同的样式。
如何告知文档列表为“已关闭”? 有什么建议吗?
非常感谢你!
import java.io.FileOutputStream;
import java.math.BigInteger;
import org.apache.poi.xwpf.usermodel.XWPFAbstractNum;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFNumbering;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTAbstractNum;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTNumbering;
public class QuickTest {
static String cTAbstractNumBulletXML =
""
+ ""
+ ""
+ ""
+ ""
+ "";
static String cTAbstractNumDecimalXML =
""
+ ""
+ ""
+ ""
+ ""
+ "";
public static void main(String[] args) throws Exception {
XWPFDocument document = new XWPFDocument();
{
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
run.setText("The List:");
CTNumbering cTNumbering = CTNumbering.Factory.parse(cTAbstractNumBulletXML);
CTAbstractNum cTAbstractNum = cTNumbering.getAbstractNumArray(0);
XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum);
XWPFNumbering numbering = document.createNumbering();
BigInteger abstractNumID = numbering.addAbstractNum(abstractNum);
BigInteger numID = numbering.addNum(abstractNumID);
System.out.println("numID: " + numID);
for (int i = 0; i < 3; i++) {
paragraph = document.createParagraph();
paragraph.setNumID(numID);
run = paragraph.createRun();
run.setText("List1 item " + i);
if (i < 2) paragraph.setSpacingAfter(0);
}
paragraph = document.createParagraph();
run=paragraph.createRun();
run.setText("Paragraph after the list.");
}
{
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run=paragraph.createRun();
run.setText("The List2:");
CTNumbering cTNumbering = CTNumbering.Factory.parse(cTAbstractNumDecimalXML);
CTAbstractNum cTAbstractNum = cTNumbering.getAbstractNumArray(0);
XWPFAbstractNum abstractNum = new XWPFAbstractNum(cTAbstractNum);
XWPFNumbering numbering = document.createNumbering();
BigInteger abstractNumID = numbering.addAbstractNum(abstractNum);
BigInteger numID = numbering.addNum(abstractNumID);
System.out.println("numID: " + numID);
for (int i = 0; i < 3; i++) {
paragraph = document.createParagraph();
paragraph.setNumID(numID);
run = paragraph.createRun();
run.setText("List2 item " + i);
if (i < 2) paragraph.setSpacingAfter(0);
}
paragraph = document.createParagraph();
run=paragraph.createRun();
run.setText("Paragraph after the list2.");
}
FileOutputStream out = new FileOutputStream("CreateWordBulletAndDecimalList.docx");
document.write(out);
System.out.println("CreateWordBulletOrDecimalList written successully");
}
}
java自动生成项目编号_java - Apache POI,在同一文档中创建项目符号点和编号列表 - 堆栈内存溢出...相关推荐
- java获取内容为空_Java使用POI读取Word文档时如果文档内容为空时出现异常
异常如下: org.apache.poi.EmptyFileException: The supplied file was empty (zero bytes long) at org.apache ...
- [实用][更新中]Java Apache POI 打印Word文档工具(含文本替换,动态表格功能)
[实用][更新中]Java Apache POI 打印Word文档工具(含文本替换,动态表格功能) 基于Apache POI对Word进行操作 一.基于Apache POI封装的word文档工具V1. ...
- java利用POI替换word文档中的标签
java利用POI替换word文档中的标签 <dependency><groupId>org.apache.poi</groupId><artifactId& ...
- java word文档生成目录_Java使用POI添加Word文档的目录(Table of contents)
不废话,直接放代码吧. public class AddTOC { public static void main(String[] args) throws IOException, Invalid ...
- java后台代码添加超链接_Java 添加超链接至Excel文档
在Excel文档中,若想快速访问其他文件或网页上的相关信息,可以在工作表单元格中插入超链接.超链接可为文本或图片,链接对象除了网页或其他文档外,也可是邮件.同一文档中其他工作表单元格或网络路径.本文就 ...
- java中添加文本框_Java 添加、删除Word文档中的文本框
在Word文档中,文本框是指一种可移动.可调大小的文字或图形容器.使用文本框,能够使文档在内容和形式上更为饱满.本文将通过使用Java编程来演示如何添加.删除Word文档中的文本框. Jar文件获取及 ...
- java类似word校验错字_Java 比较两个Word文档差异
Java 比较两个Word文档差异 Java 比较两个Word文档差异 本文介绍使用Spire.Doc for Java的比较功能来比较两个相似Word文档的差异.需要使用的版本为3.8.8或者后续发 ...
- java中mypoiexception,java - 如何使用Poi获取Java中单元格的数据验证源? - 堆栈内存溢出...
此问题包含多个不同的问题. 首先,我们需要获取工作表的数据验证,然后为每个数据验证获取数据验证所适用的Excel单元格范围. 如果该单元格位于该单元格范围之一中,并且数据验证是列表约束,则进行进一步处 ...
- java 导出word 带格式_java 导出数据为word文档(保持模板格式)
导出数据到具体的word文档里面,word有一定的格式,需要保持不变 这里使用freemarker来实现: ①:设计好word文档格式,需要用数据填充的地方用便于识别的长字符串替换 如 aaaaa ...
最新文章
- Javascript:getElementById()点innerHTML联合用法(对比演示)
- linux安全加固_安全服务之安全评估与加固
- MongoDB Element Query Operators(元素判断操作符)
- ibatis的result标签中用select详解
- python 字符串以及通过dos命令运行py脚本
- error: Zip file too big (greater than 4294959102 bytes)
- vcpkg下载mysql库_VCpkg 开源库管理工具
- as模拟器配置编译的Android,android studio连接雷电模拟器 【AS 模拟器】
- java 面向对象三个特征_[Java] 面向对象的三个特征与含义
- [AHK]提取Win10聚焦的锁屏壁纸
- regedit命令应用
- 计算机科学给稿费多少,科学网—千字千元的稿费标准高吗? - 籍利平的博文
- 大数据特点5V 商业智能实现的三个层次
- slamugv小车使用说明--1材料准备
- maven打包时依赖的项目包是时间戳而不是SNAPSHOT?
- 关于Matlab中Max函数的用法
- 明解C语言入门篇_第9章_字符串的基本知识
- 多机器人系统仿真平台(摘要与目录)
- RSA分段加密分段解密以及密钥与.Net的转化
- Py西游攻关之RabbitMQ、Memcache、Redis
热门文章
- 汽车行业G公司对接李尔LEAR EDI项目案例
- [转]logXX对所有的X0成立
- 在linux命令行下载百度网盘中的文件
- MCMC(三):Gibbs采样
- ubantu引导 修改win10_win10 + Ubuntu 20.04 LTS 双系统 引导界面美化
- 自适应铅笔黄色404页面源码
- 2020年最新阿里、字节、腾讯、京东等一线大厂高频面试(Java岗)真题合集,面试轻松无压力
- 剪映windows版1.0的使用
- 看完阮一峰老师的博客后,感觉 OAuth2.0认证就这?
- OpenGL 画出雷达动态扫描效果(一)