poi 万级数据下载(excel文件导出)

org.apache.poi中的jar包准备

  1. poi-ooxml 3.14
  2. poi-ooxml-schemas 3.14(可以不用)
  3. poi 3.14


impot org.apache.poi.ss.usermodel.Row;
impot org.apache.poi.ss.usermodel.Cell;

impot org.apache.poi.ss.usermodel.Sheet;
impot org.apache.poi.xssf.streaming.SXSSFWorkbook;




public static void download(String file, HttpServletRequest request,
            HttpServletResponse response) {
        try {
            File tempFile = new File(file.trim());
            String fileName = tempFile.getName();
            InputStream is = new FileInputStream(file);
            response.reset(); // 必要地清除response中的缓存信息
         
            //文件命名
            response.setHeader("Content-Disposition", "attachment; filename="
                    new String ("文件名".getByte(),"ISO8859-1"+dateFormate(dataFile)+".xlsx")
            / /+java.net.URLEncoder.encode(fileName, "UTF-8"));
            //下载xlsx文件
            response.setContType("applaication/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8")
            ServletOutputStream out = response.getOutputStream();
             byte[] content = new byte[1024]; int length = 0
            while((length = is.read(content)) != -1) {//请留意read里面的参数 
                out.write(content, 0, length); } 
                out.flush(); 
                out.close();
           is.close(); } 
            catch (Exception e) { e.printStackTrace(); } }

 
 
 
 
 
 

 
 

(主要还是流的应用,要去了解输入输出流才行,具体代码参见其它只提供思路和包路径,还要,要相信自己,

先写出下载再做更改很快)

猜你喜欢

转载自blog.csdn.net/qq_37511875/article/details/80283426