poi实现Excel模板化数据读写

来源:互联网 发布:火绒 windows defender 编辑:程序博客网 时间:2024/05/20 23:07

模板实例

生成临时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();            }        }    }}

0 0