Commit 9abd3669963d98c3fc443bd71b616e61ffd081ad
Exists in
master
Merge branch 'master' of gitlab.taover.com:taov-erp/com-taover-util
Showing
2 changed files
with
92 additions
and
17 deletions
Show diff stats
build.gradle
| @@ -54,7 +54,7 @@ uploadArchives { | @@ -54,7 +54,7 @@ uploadArchives { | ||
| 54 | authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) | 54 | authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD) |
| 55 | } | 55 | } |
| 56 | pom.project { | 56 | pom.project { |
| 57 | - version '1.1.18' | 57 | + version '1.1.19' |
| 58 | artifactId ARTIFACT_Id | 58 | artifactId ARTIFACT_Id |
| 59 | groupId GROUP_ID | 59 | groupId GROUP_ID |
| 60 | packaging TYPE | 60 | packaging TYPE |
src/main/java/com/taover/util/UtilExcel.java
| @@ -238,6 +238,22 @@ public class UtilExcel { | @@ -238,6 +238,22 @@ public class UtilExcel { | ||
| 238 | } | 238 | } |
| 239 | 239 | ||
| 240 | /** | 240 | /** |
| 241 | + * 读取 | ||
| 242 | + * @param filepath | ||
| 243 | + * @return | ||
| 244 | + * @throws Exception | ||
| 245 | + */ | ||
| 246 | + public static List<List<Object>> readExcelExcludeHideLine(String filepath) throws Exception{ | ||
| 247 | + File file = new File(filepath); | ||
| 248 | + List<List<Object>> result = new ArrayList<List<Object>>(); | ||
| 249 | + if(!file.exists()){ | ||
| 250 | + return result; | ||
| 251 | + } | ||
| 252 | + Workbook wb = UtilExcel.getWorkbook(filepath, true); | ||
| 253 | + return readExcelBySheetIndexExcludeHideLine(filepath, wb.getActiveSheetIndex()); | ||
| 254 | + } | ||
| 255 | + | ||
| 256 | + /** | ||
| 241 | * 读取excel表--所有工作表 | 257 | * 读取excel表--所有工作表 |
| 242 | * @param path | 258 | * @param path |
| 243 | */ | 259 | */ |
| @@ -313,29 +329,88 @@ public class UtilExcel { | @@ -313,29 +329,88 @@ public class UtilExcel { | ||
| 313 | return result; | 329 | return result; |
| 314 | } | 330 | } |
| 315 | 331 | ||
| 316 | - public static void main(String args[]){ | ||
| 317 | - String filepath = "C:\\Users\\root\\Desktop\\千丁-6.27.xlsx"; | ||
| 318 | - List<List<Object>> data = null; | ||
| 319 | - try { | ||
| 320 | - data = UtilExcel.readExcel(filepath); | ||
| 321 | - } catch (Exception e) { | ||
| 322 | - // TODO Auto-generated catch block | ||
| 323 | - e.printStackTrace(); | 332 | + public static List<List<Object>> readExcelBySheetIndexExcludeHideLine(String filepath, int sheetIndex) throws Exception{ |
| 333 | + File file = new File(filepath); | ||
| 334 | + List<List<Object>> result = new ArrayList<List<Object>>(); | ||
| 335 | + if(!file.exists()){ | ||
| 336 | + return result; | ||
| 324 | } | 337 | } |
| 325 | - List<Short> styleList = new ArrayList<Short>(); | ||
| 326 | - for(int i=0; i<data.size(); ++i){ | ||
| 327 | - if(i == 1)styleList.add(Short.valueOf(HSSFColor.RED.index)); | ||
| 328 | - else styleList.add(null); | ||
| 329 | - for(int j=0; j<data.get(i).size(); ++j){ | ||
| 330 | - System.out.print(data.get(i).get(j).toString()+" : "); | 338 | + Workbook wb = UtilExcel.getWorkbook(filepath, true); |
| 339 | + //创建Excel工作簿对象 | ||
| 340 | + DecimalFormat df = new DecimalFormat("0"); | ||
| 341 | + Sheet sheet = wb.getSheetAt(sheetIndex); | ||
| 342 | + int start = sheet.getFirstRowNum(); | ||
| 343 | + int end = sheet.getLastRowNum(); | ||
| 344 | + if(end > UtilExcel.maxExcelRowNum){ | ||
| 345 | + end = UtilExcel.maxExcelRowNum; | ||
| 346 | + } | ||
| 347 | + for(int i=start; i<end+1; ++i){ | ||
| 348 | + Row row = sheet.getRow(i); | ||
| 349 | + if(row == null){ | ||
| 350 | + continue; | ||
| 331 | } | 351 | } |
| 332 | - System.out.println(""); | 352 | + //去除隐藏行 |
| 353 | + if(row.getZeroHeight()){ | ||
| 354 | + continue; | ||
| 355 | + } | ||
| 356 | + List<Object> dataRow = new ArrayList<Object>(); | ||
| 357 | + int lastCellNum = row.getLastCellNum(); | ||
| 358 | + if(lastCellNum > UtilExcel.maxExcelColumnNum){ | ||
| 359 | + lastCellNum = UtilExcel.maxExcelColumnNum; | ||
| 360 | + } | ||
| 361 | + for(int j=0; j<lastCellNum; ++j){ | ||
| 362 | + Cell cell = row.getCell(j); | ||
| 363 | + if(cell != null){ | ||
| 364 | + CellType currCellType = cell.getCellTypeEnum(); | ||
| 365 | + | ||
| 366 | + if(currCellType.compareTo(CellType.STRING) == 0){ | ||
| 367 | + dataRow.add(UtilString.trimCodePage(cell.getRichStringCellValue().getString())); | ||
| 368 | + }else if(currCellType.compareTo(CellType.NUMERIC) == 0){ | ||
| 369 | + dataRow.add(df.format(cell.getNumericCellValue())); | ||
| 370 | + | ||
| 371 | + }else if(currCellType.compareTo(CellType.BOOLEAN) == 0){ | ||
| 372 | + dataRow.add(cell.getBooleanCellValue()); | ||
| 373 | + }else if(currCellType.compareTo(CellType.FORMULA) == 0 | ||
| 374 | + || currCellType.compareTo(CellType.BLANK) == 0 | ||
| 375 | + || currCellType.compareTo(CellType.ERROR) == 0){ | ||
| 376 | + dataRow.add(""); | ||
| 377 | + } | ||
| 378 | + | ||
| 379 | + }else{ | ||
| 380 | + dataRow.add(""); | ||
| 381 | + } | ||
| 382 | + } | ||
| 383 | + result.add(dataRow); | ||
| 333 | } | 384 | } |
| 385 | + return result; | ||
| 386 | + } | ||
| 387 | + | ||
| 388 | + public static void main(String args[]){ | ||
| 389 | + //String filepath = "C:\\Users\\root\\Desktop\\千丁-6.27.xlsx"; | ||
| 390 | + String filepath = "C:\\Users\\EDZ\\Desktop\\gaoming测试甩单.xls"; | ||
| 391 | + List<List<Object>> data = null; | ||
| 334 | try { | 392 | try { |
| 335 | - UtilExcel.saveExcel("测试", data, "D:\\12345.xlsx", styleList); | 393 | + data = UtilExcel.readExcel(filepath); |
| 394 | + System.out.println(data.size()); | ||
| 395 | + System.out.println(UtilExcel.readExcelExcludeHideLine(filepath).size()); | ||
| 336 | } catch (Exception e) { | 396 | } catch (Exception e) { |
| 337 | // TODO Auto-generated catch block | 397 | // TODO Auto-generated catch block |
| 338 | e.printStackTrace(); | 398 | e.printStackTrace(); |
| 339 | } | 399 | } |
| 400 | +// List<Short> styleList = new ArrayList<Short>(); | ||
| 401 | +// for(int i=0; i<data.size(); ++i){ | ||
| 402 | +// if(i == 1)styleList.add(Short.valueOf(HSSFColor.RED.index)); | ||
| 403 | +// else styleList.add(null); | ||
| 404 | +// for(int j=0; j<data.get(i).size(); ++j){ | ||
| 405 | +// System.out.print(data.get(i).get(j).toString()+" : "); | ||
| 406 | +// } | ||
| 407 | +// System.out.println(""); | ||
| 408 | +// } | ||
| 409 | +// try { | ||
| 410 | +// UtilExcel.saveExcel("测试", data, "D:\\12345.xlsx", styleList); | ||
| 411 | +// } catch (Exception e) { | ||
| 412 | +// // TODO Auto-generated catch block | ||
| 413 | +// e.printStackTrace(); | ||
| 414 | +// } | ||
| 340 | } | 415 | } |
| 341 | } | 416 | } |