模板实例
生成临时Excel文件
String newPath="临时文件存放路径";
ExcelHandle handle = new ExcelHandle(); String path=newPath+"\\"+fileName; handle.writeListData(modelPath, infoMap, 0); File file = new File(path); OutputStream os = new FileOutputStream(file); //写到输出流并关闭资源 handle.writeAndClose(modelPath, os); os.flush(); os.close(); handle.readClose(path);
excel下载
{ OutputStream os = null; FileInputStream fis = null; File destFile = null;
//获取文件名称 String fileName=path.substring(path.lastIndexOf("\\")+1,path.lastIndexOf(".")); try { // compress(path, destPath); destFile = new File(path); fileName = new String(fileName.getBytes("gbk"), "ISO-8859-1"); response.setContentType("application/xlsx"); response.addHeader("Content-Length", "" + destFile.length()); response.setHeader("Content-disposition", "attachment; filename=" + fileName + ".xlsx"); fis = new FileInputStream(destFile); os = response.getOutputStream(); byte[] buf = new byte[1024]; int len = 0; while ((len = fis.read(buf)) != -1) { os.write(buf, 0, len); } } catch (Exception e) { e.printStackTrace(); } finally { try { if (null != os) { os.close(); } if (null != fis) { fis.close(); } } catch (Exception e) { e.printStackTrace(); } finally { File file = new File(path.substring(0, path.lastIndexOf(File.separator))); File[] files = file.listFiles(); for (File temp : files) { if(null != temp && temp.exists() && temp.isFile()){ temp.delete(); } } if(null != destFile && destFile.exists() && destFile.isFile()){ destFile.delete(); } } } }