Commit b687b9b85023a86827e84c47dc5293881cd944c1
1 parent
62aa3297
Exists in
master
.
Showing
2 changed files
with
101 additions
and
19 deletions
Show diff stats
build.gradle
src/main/java/com/taover/util/UtilExcel.java
| ... | ... | @@ -167,6 +167,66 @@ public class UtilExcel { |
| 167 | 167 | } |
| 168 | 168 | } |
| 169 | 169 | |
| 170 | + | |
| 171 | + /** | |
| 172 | + * 创建并保存excel表 sheet | |
| 173 | + * @param sheetName | |
| 174 | + * @param data | |
| 175 | + * @param path | |
| 176 | + */ | |
| 177 | + public static void saveExcelContailSheet(List<String> sheetList, List<List<List<Object>>> dataList, String path) throws Exception{ | |
| 178 | + if(sheetList.size() != dataList.size()){ | |
| 179 | + throw new Exception("sheet size != excel size"); | |
| 180 | + } | |
| 181 | + Workbook wb = UtilExcel.getWorkbook(path, false); | |
| 182 | + //创建Excel工作簿对象 | |
| 183 | + | |
| 184 | + for (int j = 0;j< dataList.size(); j++) { | |
| 185 | + List<List<Object>> data = dataList.get(j); | |
| 186 | + Sheet sheet = wb.createSheet(sheetList.get(j));//创建Excel工作表对象 | |
| 187 | + for(int i=0; i<data.size(); ++i){ | |
| 188 | + Row row = sheet.createRow(i); //创建Excel工作表的行 | |
| 189 | + List<Object> dataRow = data.get(i); | |
| 190 | + if(dataRow != null){ | |
| 191 | + for(int k=0; k<dataRow.size(); ++k){ | |
| 192 | + Cell cell = row.createCell(k); | |
| 193 | + Object dataCell = dataRow.get(k); | |
| 194 | + if(dataCell != null){ | |
| 195 | + if(dataCell.getClass().isPrimitive()){ | |
| 196 | + cell.setCellValue(Double.valueOf(dataCell.toString())); | |
| 197 | + }else if(dataCell.getClass().getSimpleName().equals("Date")){ | |
| 198 | + cell.setCellValue((Date)dataCell); | |
| 199 | + }else{ | |
| 200 | + cell.setCellValue(dataCell.toString()); | |
| 201 | + } | |
| 202 | + } | |
| 203 | + } | |
| 204 | + } | |
| 205 | + } | |
| 206 | + } | |
| 207 | + | |
| 208 | + try { | |
| 209 | + FileOutputStream fileOut; | |
| 210 | + File tempFile = new File(path); | |
| 211 | + if(!tempFile.exists()){ | |
| 212 | + File parentFile = tempFile.getParentFile(); | |
| 213 | + if(!parentFile.exists()){ | |
| 214 | + parentFile.mkdirs(); | |
| 215 | + } | |
| 216 | + if(!tempFile.createNewFile()){ | |
| 217 | + return; | |
| 218 | + } | |
| 219 | + } | |
| 220 | + fileOut = new FileOutputStream(tempFile); | |
| 221 | + wb.write(fileOut); | |
| 222 | + wb.close(); | |
| 223 | + fileOut.close(); | |
| 224 | + } catch (Exception e) { | |
| 225 | + // TODO Auto-generated catch block | |
| 226 | + e.printStackTrace(); | |
| 227 | + } | |
| 228 | + } | |
| 229 | + | |
| 170 | 230 | /** |
| 171 | 231 | * 创建并保存excel表 |
| 172 | 232 | * @param sheetName |
| ... | ... | @@ -444,18 +504,18 @@ public class UtilExcel { |
| 444 | 504 | |
| 445 | 505 | public static void main(String args[]){ |
| 446 | 506 | //String filepath = "C:\\Users\\root\\Desktop\\千丁-6.27.xlsx"; |
| 447 | - String filepath = "C:\\Users\\EDZ\\Desktop\\qwer.xls"; | |
| 448 | - List<List<Object>> data = null; | |
| 449 | - | |
| 450 | - try { | |
| 451 | - data = UtilExcel.readExcel(filepath); | |
| 452 | - System.out.println(data); | |
| 453 | - System.out.println(data.size()); | |
| 454 | - System.out.println(UtilExcel.readExcelAllSheetMap(filepath)); | |
| 455 | - } catch (Exception e) { | |
| 456 | - // TODO Auto-generated catch block | |
| 457 | - e.printStackTrace(); | |
| 458 | - } | |
| 507 | +// String filepath = "C:\\Users\\gaoming\\Desktop\\qwer.xls"; | |
| 508 | +// List<List<Object>> data = null; | |
| 509 | +// | |
| 510 | +// try { | |
| 511 | +// data = UtilExcel.readExcelAllSheetMap(filepath).get("0"); | |
| 512 | +// System.out.println(data); | |
| 513 | +// System.out.println(data.size()); | |
| 514 | +// System.out.println(UtilExcel.readExcelAllSheetMap(filepath)); | |
| 515 | +// } catch (Exception e) { | |
| 516 | +// // TODO Auto-generated catch block | |
| 517 | +// e.printStackTrace(); | |
| 518 | +// } | |
| 459 | 519 | // List<Short> styleList = new ArrayList<Short>(); |
| 460 | 520 | // for(int i=0; i<data.size(); ++i){ |
| 461 | 521 | // if(i == 1)styleList.add(Short.valueOf(HSSFColor.RED.index)); |
| ... | ... | @@ -465,11 +525,33 @@ public class UtilExcel { |
| 465 | 525 | // } |
| 466 | 526 | // System.out.println(""); |
| 467 | 527 | // } |
| 468 | -// try { | |
| 469 | -// UtilExcel.saveExcel("测试", data, "D:\\12345.xlsx", styleList); | |
| 470 | -// } catch (Exception e) { | |
| 471 | -// // TODO Auto-generated catch block | |
| 472 | -// e.printStackTrace(); | |
| 473 | -// } | |
| 528 | + try { | |
| 529 | + List<String> headerList = new ArrayList<String>(); | |
| 530 | + headerList.add("shhe1"); | |
| 531 | + headerList.add("shhe2"); | |
| 532 | + List<List<List<Object>>> dataList = new ArrayList<List<List<Object>>>(); | |
| 533 | + List<List<Object>> list1 = new ArrayList<List<Object>>(); | |
| 534 | + List<Object> list11 = new ArrayList<Object>(); | |
| 535 | + list11.add("hahaha"); | |
| 536 | + list11.add("hahaha"); | |
| 537 | + list11.add("hahaha"); | |
| 538 | + list1.add(list11); | |
| 539 | + | |
| 540 | + List<List<Object>> list2 = new ArrayList<List<Object>>(); | |
| 541 | + List<Object> list22 = new ArrayList<Object>(); | |
| 542 | + list22.add("hahaha2"); | |
| 543 | + list22.add("hahaha2"); | |
| 544 | + list22.add("hahaha2"); | |
| 545 | + list2.add(list22); | |
| 546 | + list2.add(list22); | |
| 547 | + | |
| 548 | + dataList.add(list1); | |
| 549 | + dataList.add(list2); | |
| 550 | + | |
| 551 | + UtilExcel.saveExcelContailSheet(headerList, dataList, "C:\\Users\\gaoming\\Desktop\\qwer.xls"); | |
| 552 | + } catch (Exception e) { | |
| 553 | + // TODO Auto-generated catch block | |
| 554 | + e.printStackTrace(); | |
| 555 | + } | |
| 474 | 556 | } |
| 475 | 557 | } | ... | ... |