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 | } |