public static void main(String[] args){ String filePath="D:\\桌面\\sapmple.xls";//文件路径 String name = "采购申请列表"; String[] columnNames = {"采购理由","备注","类型","资产名称","型号"}; PurchaseApplication purchaseApplication = new PurchaseApplication(); List<PurchaseApplicationDetail> list = new ArrayList<>(); PurchaseApplicationDetail purchaseApplicationDetails = new PurchaseApplicationDetail(); purchaseApplicationDetails.setTypeName("测试1"); purchaseApplicationDetails.setGoodsName("测试1"); purchaseApplicationDetails.setSpecifications("测试1"); list.add(purchaseApplicationDetails); PurchaseApplicationDetail purchaseApplicationDetails2 = new PurchaseApplicationDetail(); purchaseApplicationDetails2.setTypeName("测试2"); purchaseApplicationDetails2.setGoodsName("测试2"); purchaseApplicationDetails2.setSpecifications("测试2"); list.add(purchaseApplicationDetails2); PurchaseApplicationDetail purchaseApplicationDetails3 = new PurchaseApplicationDetail(); purchaseApplicationDetails3.setTypeName("测试3"); purchaseApplicationDetails3.setGoodsName("测试3"); purchaseApplicationDetails3.setSpecifications("测试3"); list.add(purchaseApplicationDetails3); purchaseApplication.setReasons("测试"); purchaseApplication.setRemarks("测试"); purchaseApplication.setPurchaseApplicationDetails(list); try { export(filePath,name,columnNames,purchaseApplication); } catch (IOException e) { e.printStackTrace(); } } public static void export(String filePath, String name, String[] columnNames, PurchaseApplication purchaseApplication) throws IOException{ HSSFWorkbook workbook = new HSSFWorkbook();//创建Excel文件(Workbook) HSSFSheet sheet = workbook.createSheet();//创建工作表(Sheet) HSSFCellStyle style=workbook.createCellStyle(); HSSFRow row=sheet.createRow(0); HSSFCell cell=row.createCell(0); cell.setCellValue(name); Font f = workbook.createFont(); f.setFontHeightInPoints((short) 10); f.setColor(IndexedColors.BLACK.getIndex()); f.setBold(true); style.setFont(f); style.setBorderLeft(BorderStyle.THIN); style.setBorderRight(BorderStyle.THIN); style.setAlignment(HorizontalAlignment.CENTER); style.setVerticalAlignment(VerticalAlignment.CENTER); HSSFRow row1=sheet.createRow(1); for (int i = 0; i <columnNames.length ; i++) { row1.createCell(i).setCellValue(columnNames[i]); sheet.setColumnWidth((short) i, (short) (35.7 * 150)); cell.setCellStyle(style); } HSSFRow row2=sheet.createRow(2); row2.createCell(0).setCellValue(purchaseApplication.getReasons()); row2.createCell(1).setCellValue(purchaseApplication.getRemarks()); List<PurchaseApplicationDetail> list = purchaseApplication.getPurchaseApplicationDetails(); for(int i =0;i<list.size();i++){ if(i !=0){ row2=sheet.createRow(i+2); } row2.createCell(2).setCellValue(list.get(i).getTypeName()); row2.createCell(3).setCellValue(list.get(i).getGoodsName()); row2.createCell(4).setCellValue(list.get(i).getSpecifications()); } CellRangeAddress region=new CellRangeAddress(0, 0, 0, 4); sheet.addMergedRegion(region); //合并行 region=new CellRangeAddress(2, list.size()+1, 0, 0); sheet.addMergedRegion(region); region=new CellRangeAddress(list.size()+2,2*list.size()+1 , 0, 0); sheet.addMergedRegion(region); region=new CellRangeAddress(2, list.size()+1, 1, 1); sheet.addMergedRegion(region); FileOutputStream out = new FileOutputStream(filePath); workbook.write(out);//保存Excel文件 out.close();//关闭文件流 System.out.println("OK!"); }
public static void main(String[] args){ String filePath="D:\\桌面\\sapmple.xls";//文件路径 String name = "采购申请列表"; String[] columnNames = {"采购理由","备注","类型","资产名称","型号"}; PurchaseApplication purchaseApplication = new PurchaseApplication(); List<PurchaseApplicationDetail> list = new ArrayList<>(); PurchaseApplicationDetail purchaseApplicationDetails = new PurchaseApplicationDetail(); purchaseApplicationDetails.setTypeName("测试1"); purchaseApplicationDetails.setGoodsName("测试1"); purchaseApplicationDetails.setSpecifications("测试1"); list.add(purchaseApplicationDetails); PurchaseApplicationDetail purchaseApplicationDetails2 = new PurchaseApplicationDetail(); purchaseApplicationDetails2.setTypeName("测试2"); purchaseApplicationDetails2.setGoodsName("测试2"); purchaseApplicationDetails2.setSpecifications("测试2"); list.add(purchaseApplicationDetails2); PurchaseApplicationDetail purchaseApplicationDetails3 = new PurchaseApplicationDetail(); purchaseApplicationDetails3.setTypeName("测试3"); purchaseApplicationDetails3.setGoodsName("测试3"); purchaseApplicationDetails3.setSpecifications("测试3"); list.add(purchaseApplicationDetails3); purchaseApplication.setReasons("测试"); purchaseApplication.setRemarks("测试"); purchaseApplication.setPurchaseApplicationDetails(list); try { export(filePath,name,columnNames,purchaseApplication); } catch (IOException e) { e.printStackTrace(); } } public static void export(String filePath, String name, String[] columnNames, PurchaseApplication purchaseApplication) throws IOException{ HSSFWorkbook workbook = new HSSFWorkbook();//创建Excel文件(Workbook) HSSFSheet sheet = workbook.createSheet();//创建工作表(Sheet) HSSFCellStyle style=workbook.createCellStyle(); HSSFRow row=sheet.createRow(0); HSSFCell cell=row.createCell(0); cell.setCellValue(name); Font f = workbook.createFont(); f.setFontHeightInPoints((short) 10); f.setColor(IndexedColors.BLACK.getIndex()); f.setBold(true); style.setFont(f); style.setBorderLeft(BorderStyle.THIN); style.setBorderRight(BorderStyle.THIN); style.setAlignment(HorizontalAlignment.CENTER); style.setVerticalAlignment(VerticalAlignment.CENTER); HSSFRow row1=sheet.createRow(1); for (int i = 0; i <columnNames.length ; i++) { row1.createCell(i).setCellValue(columnNames[i]); sheet.setColumnWidth((short) i, (short) (35.7 * 150)); cell.setCellStyle(style); } HSSFRow row2=sheet.createRow(2); row2.createCell(0).setCellValue(purchaseApplication.getReasons()); row2.createCell(1).setCellValue(purchaseApplication.getRemarks()); List<PurchaseApplicationDetail> list = purchaseApplication.getPurchaseApplicationDetails(); for(int i =0;i<list.size();i++){ if(i !=0){ row2=sheet.createRow(i+2); } row2.createCell(2).setCellValue(list.get(i).getTypeName()); row2.createCell(3).setCellValue(list.get(i).getGoodsName()); row2.createCell(4).setCellValue(list.get(i).getSpecifications()); } CellRangeAddress region=new CellRangeAddress(0, 0, 0, 4); sheet.addMergedRegion(region); //合并行 region=new CellRangeAddress(2, list.size()+1, 0, 0); sheet.addMergedRegion(region); region=new CellRangeAddress(list.size()+2,2*list.size()+1 , 0, 0); sheet.addMergedRegion(region); region=new CellRangeAddress(2, list.size()+1, 1, 1); sheet.addMergedRegion(region); FileOutputStream out = new FileOutputStream(filePath); workbook.write(out);//保存Excel文件 out.close();//关闭文件流 System.out.println("OK!"); }