`

POI实现插入一行操作,就像office excel插入一行的操作

阅读更多

注意此例需要jxls的支持

/**
	 * insert row into the target sheet, the style of cell is the same as startRow
	 * @param wb
	 * @param sheet
	 * @param starRow - the row to start shifting
	 * @param rows
	 */
	 public static void insertRow(HSSFWorkbook wb, HSSFSheet sheet, int startRow,int rows) {
		 
		  sheet.shiftRows(startRow + 1, sheet.getLastRowNum(), rows,true,false);
		  //  Parameters:
		  //   startRow - the row to start shifting
		  //   endRow - the row to end shifting
		  //   n - the number of rows to shift
		  //   copyRowHeight - whether to copy the row height during the shift
		  //   resetOriginalRowHeight - whether to set the original row's height to the default

		  for (int i = 0; i < rows; i++) {
			  
			  	HSSFRow sourceRow = null;
			  	HSSFRow targetRow = null;
			  	
			  	sourceRow = sheet.getRow(startRow);
			  	targetRow = sheet.createRow(++startRow);
			  	
			  	Util.copyRow(sheet, sourceRow, targetRow);
		  }
		  
	}

 

插入行会继承第“startRow”行的样式,实际上就是拷贝“startRow”,甚至包括合并的单元格

 

参考了http://blog.csdn.net/daemon_boy/archive/2007/09/15/1786384.aspx的代码

分享到:
评论
6 楼 ftp51423121 2009-07-17  
Util 哪个util啊
5 楼 yueyueaihuihui 2009-03-28  
找了一天终于找到真正懂得我意思的帖子了!太感谢了!
4 楼 yisi57050644 2008-12-31  
刚刚用过,很不错。不过要是保护工作表。其中有可编辑区域的话,插入行后形成下移。移下去的行就不能编辑了。
3 楼 cai555 2008-10-21  
jxls包
2 楼 cai555 2008-10-21  
net.sf.jxls.util.Util
1 楼 xjeren 2008-10-21  
Util.copyRow

相关推荐

Global site tag (gtag.js) - Google Analytics