[简单]docx4j插入段落

本文介绍如何使用docx4j库在Word文档中插入段落和表格,并提供了一个具体的代码示例,展示了如何设置段落样式及表格边框。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     docx4j可以往文档中插入段落,使用起来和往List中插入元素一样,只要注意下下标位置就可以了,如第一次往下标5的地方插入段落后,模板中下标为8的变成了下标9。

     举个例子,模板如下:

     

     往模板中插入段落和表格

     

		String inputfilepath = "e:/test_tmp/0904/test_p.docx";
		WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath));
		MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
		String titleStr = "测试插入段落";
		P p = Docx4j_Helper.factory.createP();
		String rprStr = "<w:rPr xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"><w:rFonts w:hint=\"eastAsia\" w:ascii=\"Times New Roman\" w:hAnsi=\"Times New Roman\" w:eastAsia=\"宋体\"/><w:b/><w:color w:val=\"333333\"/><w:sz w:val=\"32\"/><w:szCs w:val=\"32\"/></w:rPr>";
		RPr rpr = (RPr) XmlUtils.unmarshalString(rprStr);
		setParagraphContent(p, rpr, titleStr);
		documentPart.getContent().add(5, p);

		String tblPrStr = "<w:tblPr xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\"><w:tblW w:w=\"8522\" w:type=\"dxa\"/><w:tblBorders><w:top w:val=\"single\"  w:sz=\"4\" w:space=\"0\"/><w:left w:val=\"single\"  w:sz=\"4\" w:space=\"0\"/><w:bottom w:val=\"single\"  w:sz=\"4\" w:space=\"0\"/><w:right w:val=\"single\"  w:sz=\"4\" w:space=\"0\"/><w:insideH w:val=\"single\"  w:sz=\"4\" w:space=\"0\"/></w:tblBorders></w:tblPr>";
		Tbl tbl = Docx4j_Helper.factory.createTbl();
		TblPr tblPr = (TblPr) XmlUtils.unmarshalString(tblPrStr);
		tbl.setTblPr(tblPr);
		Tr tr = Docx4j_Helper.factory.createTr();
		Tc tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);
		tbl.getContent().add(tr);

		tr = Docx4j_Helper.factory.createTr();
		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);

		tc = Docx4j_Helper.factory.createTc();
		tr.getContent().add(tc);
		tbl.getContent().add(tr);
		documentPart.getContent().add(9, tbl);
		
		Docx4j_Helper.saveWordPackage(wordMLPackage, outputfilepath);
	

    结果为:

   

     全文完。

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值