POI笔记

阅读更多
excel2003:HSSFWorkbook

excel2007:XSSFWorkbook

删除行的数据:

sheet.removeRow(row);


删除行:
sheet.shiftRows(a, b, -c);

a:起始行index

b:结束行Index

c:向上移动多少行

(1,5,-2) 表示把第二行到第六行上移2行


复制行到另一个文件


/**
	 * 
	 * 
	 * @Title: setRow
	 * @Description: 复制行到另一个文件
	 * @param sheet
	 *            目标文件的sheet
	 * @param row
	 *            源文件的row
	 * @param msgCell
	 *            在目标文件行尾部列添加的内容 一般是异常信息等
	 * @date: 2014年6月3日
	 * @return: void
	 * @throws
	 * 
	 */
public static void copyRow(Sheet sheet, Row row, String msgCell) {
		int len = sheet.getLastRowNum();
		Row myRow = sheet.createRow(len);
		int clen = row.getLastCellNum();
		for (int i = 0; i < clen; i++) {
			Cell cell = row.getCell(i);
			Cell myCell = myRow.createCell(i);
			myCell.setCellStyle(cell.getCellStyle());
			if (cell.getCellType() == HSSFCell.CELL_TYPE_BOOLEAN)
				myCell.setCellValue(cell.getBooleanCellValue());
			else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC)
				myCell.setCellValue(cell.getNumericCellValue());
			else
				myCell.setCellValue(cell.getStringCellValue());
		}
		if (msgCell != null) {
			Cell mymsgcell = myRow.createCell(len);
			mymsgcell.setCellValue(msgCell);
		}
	}

你可能感兴趣的:(POI)