[简单]poi插入word 2007内容控件实现思路

       生成内容控件和读取内容控件代码差不多,读取是get,生成是addNew。往段落和表格外插入内容控件没有实现,部分关键代码如下:

      

public void setCTSdtPr(CTSdtPr sdtPr, String id, String alias, String tag,
			CTRPr rprStyle, boolean isText, boolean isTextMutil,
			boolean notDel, boolean notEdit, boolean isDelAfterEdit) {
		if (isText) {
			// 纯文本
			CTSdtText sdtText = sdtPr.addNewText();
			// 允许多行
			if (isTextMutil) {
				sdtText.setMultiLine(STOnOff.TRUE);
			}
		}
		// 设置id
		if (StringUtils.isNumeric(id)) {
			CTDecimalNumber sdtId = sdtPr.addNewId();
			sdtId.setVal(new BigInteger(id));
		}
		// 设置标题
		if (StringUtils.isNotBlank(alias)) {
			CTString ctAlia = sdtPr.addNewAlias();
			ctAlia.setVal(alias);
		}
		// 设置标记
		if (StringUtils.isNotBlank(tag)) {
			CTString ctTag = sdtPr.addNewTag();
			ctTag.setVal(tag);
		}
		// 无法删除内容控件,无法编辑内容
		if (notDel && notEdit) {
			CTLock ctLock = sdtPr.addNewLock();
			ctLock.setVal(STLock.SDT_CONTENT_LOCKED);
		} else if (notDel) {
			// 无法删除
			CTLock ctLock = sdtPr.addNewLock();
			ctLock.setVal(STLock.SDT_LOCKED);
		} else if (notEdit) {
			// 无法编辑
			CTLock ctLock = sdtPr.addNewLock();
			ctLock.setVal(STLock.CONTENT_LOCKED);
		}
		// 替换后是否删除内容控件
		if (!notDel && isDelAfterEdit) {
			CTOnOff ctTmp = sdtPr.addNewTemporary();
			ctTmp.setVal(STOnOff.TRUE);
		}
		if (rprStyle != null) {
			sdtPr.getRPrList().add(rprStyle);
		}
	}

    其他部分代码很简单,就不写了。

    全文完。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值