导出excel
来源:互联网 发布:php弹出提示框 编辑:程序博客网 时间:2024/05/20 22:27
将Jqgrid表格中的数据进行下载导出excel的sheet列的表头,分别对应三个表单List<String> sheet1 = new LinkedList<String>();sheet1.add("1");sheet1.add("2");sheet1.add("3");sheet1.add("4");sheet1.add("5");sheet1.add("6");sheet1.add("7");List<String> sheet2 = new LinkedList<String>();sheet2.add("1");sheet2.add("2");sheet2.add("3");sheet2.add("4");List<String> sheet3 = new LinkedList<String>();sheet3.add("1");sheet3.add("2");sheet3.add("3");sheet3.add("4");//将3个的表的列的名字分别添加进来List<List<String>> excelTitle = new LinkedList<List<String>>();excelTitle.add(sheet1);excelTitle.add(sheet2);excelTitle.add(sheet3);String sheet1Name = "第一个表单的名字";String sheet2Name = "第二个表单的名字";String sheet3Name = "第三个表单的名字";List<String> sheetName = new LinkedList<String>();sheetName.add(sheet1Name);sheetName.add(sheet2Name);sheetName.add(sheet3Name);//用来存放所有的sheet1、sheet2和sheet3的数据的容器List<List<String[]>> exportDataList = new LinkedList<List<String[]>>();//用来接受接受的数据List<String[]> sheetDataList1 = new LinkedList<String[]>();List<String[]> sheetDataList2 = new LinkedList<String[]>();List<String[]> sheetDataList3 = new LinkedList<String[]>();//获取三个表单的中的数据也是这样,分别和列名中1、2、3等等对应起来String[] data = new String[10];data[0] = "数据一";data[1] = "数据二";data[2] = "数据三";data[3] = "数据四";data[4] = "数据五";data[5] = "数据六";data[6] = "数据七";sheetDataList1.add(data);data[0] = "数据一";data[1] = "数据二";data[2] = "数据三";data[3] = "数据四";sheetDataList2.add(data);data[0] = "数据一";data[1] = "数据二";data[2] = "数据三";data[3] = "数据四";sheetDataList3.add(data);exportDataList.add(sheetDataList1);exportDataList.add(sheetDataList2);exportDataList.add(sheetDataList3);public static Map<String, String> exportExcel(String excelName, List<List<String>> excelTitle, List<List<String[]>> excelDatalist, List<String> sheetName, String rootPath, String storeFolder) { Map<String, String> exportedExcelPathMap = null; try { SimpleDateFormat df = new SimpleDateFormat("MMdd_HHmm"); rootPath = URLDecoder.decode(rootPath + storeFolder + File.separator, "UTF-8"); String fileName = null; if (StringUtils.isNotBlank(excelName)) { fileName = URLDecoder.decode(excelName + ".xls","UTF-8"); } else { fileName = URLDecoder.decode(df.format(new Date()) + ".xls", "UTF-8"); } File outputDir = new File(rootPath); if (!outputDir.exists()) { outputDir.mkdirs(); } WritableWorkbook wwb; File outputFile = new File(rootPath + fileName); if(outputFile.exists()) outputFile.delete();//刪除之前已经存在的相同文件名的文件 wwb = Workbook.createWorkbook(outputFile); for (int sheetNumber = 0; sheetNumber < sheetName.size(); ++sheetNumber) { WritableSheet sheet = wwb.createSheet(sheetName.get(sheetNumber), sheetNumber); Label label; WritableCellFormat textFormat = new WritableCellFormat(NumberFormats.TEXT); textFormat.setAlignment(Alignment.CENTRE); CellView cv = new CellView(); cv.setFormat(textFormat); cv.setAutosize(true); for (int i = 0; i < excelTitle.get(sheetNumber).size(); i++) { sheet.setColumnView(i, cv); label = new Label(i, 0, excelTitle.get(sheetNumber).get(i), textFormat); sheet.addCell(label); } if (excelDatalist.size() > 0) { for (int i = 0; i < excelDatalist.get(sheetNumber).size(); i++) { String[] row = excelDatalist.get(sheetNumber).get(i); int rowLength = row.length; for (int j = 0; j < rowLength; j++) { if (row[j] == null) continue; sheet.setColumnView(i, cv); label = new Label(j, i + 1, row[j], textFormat); sheet.addCell(label); } } } } wwb.write(); wwb.close(); exportedExcelPathMap = new HashMap<String, String>(); exportedExcelPathMap.put("filepath", rootPath); exportedExcelPathMap.put("filename", fileName); return exportedExcelPathMap; } catch (UnsupportedEncodingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (RowsExceededException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } finally { } return exportedExcelPathMap; }
0 0
- 导出EXCEL
- Excel导出
- 导出Excel
- 导出EXCEL
- 导出Excel
- EXCEL导出
- 导出Excel
- 导出excel
- 导出excel
- EXCEL导出
- 导出excel
- 导出Excel
- Excel导出。
- 导出excel
- Excel 导出
- 导出excel
- 导出excel
- 导出excel
- UVa 221 Urban Elevations (区间覆盖问题)
- Android内存优化大全(中)
- 同步时间
- convert命令FAT32转NTFS(不影响硬盘数据)
- 北航机试C语言矩阵问题
- 导出excel
- 数据类型2_浮点类型
- HTML5 canvas 在画布中画出一个时钟
- Android研究院之应用开发线程池的经典使用(二十九)
- 【DSP开发】C6678的中断控制器
- 《数据结构与算法分析——c语言描述》 练习6.32 答案
- Java设计模式(四)代理模式详解
- list::splice()函数详解
- linux无线网络配置