/** * 判断合并项内容是否合法 * * @param mergeInfo 合并项 每一项的数据格式为0,1,0,2即把(0,1)和(0,2)合并 * @return true合法,false非法 */ private boolean isMergeInfo(String[] mergeInfo) { if (VerifyUtil.isNull1DArray(mergeInfo)) { return false; } else { for (String str : mergeInfo) { String[] temp = str.split(","); if (VerifyUtil.isNull1DArray(temp) || temp.length != 4) { return false; } else { for (String s : temp) { if (!isNumeric(s)) { return false; } } } } } return true; }
/** * 合并表格 * * @param sheet 工作表 * @param mergeInfo 要合并的表格的信息 * @throws RowsExceededException * @throws NumberFormatException * @throws WriteException */ private void merge(WritableSheet sheet, String[] mergeInfo) throws RowsExceededException, NumberFormatException, WriteException { if (VerifyUtil.isNullObject(sheet) || VerifyUtil.isNull1DArray(mergeInfo)) { return; } else if (!this.isMergeInfo(mergeInfo)) { return; } else { for (String str : mergeInfo) { String[] temp = str.split(","); sheet.mergeCells( Integer.parseInt(temp[1]), Integer.parseInt(temp[0]), Integer.parseInt(temp[3]), Integer.parseInt(temp[2])); } } }