`
53873039oycg
  • 浏览: 825785 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

[简单]docx4j实现word 2007表格插入行功能思路

 
阅读更多

      word表格插入一行如下:

      

    

      实现思路:

        主要分在当前行上方插入行和在当前行下方插入行。对首尾2行特殊处理,在有跨行合并情况时,在第一行上面或者在最后一行下面插入是不会跨行的但是可能会跨列。

       对于中间的行,主要参照当前行,如果当前行跨行,则新增行也跨行,如果当前行单元格结束跨行,则新增的上方插入行跨行,下方插入行不跨行,如果当前行单元格开始跨行,则新增的上方插入行不跨行,下发插入行跨行。

       主要思路就是这样,插入的时候需要得到真实位置的单元格,代码如下:

      

// 按位置得到单元格(考虑跨列合并情况)
	public Tc getTcByPosition(List<Tc> tcList, int position) {
		int k = 0;
		for (int i = 0, len = tcList.size(); i < len; i++) {
			Tc tc = tcList.get(i);
			TcPr trPr = tc.getTcPr();
			if (trPr != null) {
				GridSpan gridSpan = trPr.getGridSpan();
				if (gridSpan != null) {
					k += gridSpan.getVal().intValue() - 1;
				}
			}
			if (k >= position) {
				return tcList.get(i);
			}
			k++;
		}
		if (position < tcList.size()) {
			return tcList.get(position);
		}
		return null;
	}

    其他部分代码就不写了,我已经实现该功能,有需要的留言。

    全文完。

 

  • 大小: 49.4 KB
分享到:
评论
1 楼 xiaoy123 2015-05-24  
楼主我想问一下,现在我需要将文档中某页排版设置为横向,如何实现??

相关推荐

Global site tag (gtag.js) - Google Analytics