java 文件大数据Excel下载实例代码

 更新时间:2017年04月24日 10:54:50   投稿:lqh  
这篇文章主要介绍了java 文件大数据Excel下载实例代码的相关资料,需要的朋友可以参考下

java 文件大数据Excel下载实例代码

excel可以用xml表示。故可以以此来实现边写边下载文件

package com.tydic.qop.controller; 
 
import java.io.BufferedInputStream; 
import java.io.BufferedOutputStream; 
import java.io.ByteArrayInputStream; 
import java.io.ByteArrayOutputStream; 
import java.io.IOException; 
import java.io.InputStream; 
import javax.servlet.ServletOutputStream; 
import javax.servlet.http.HttpServletResponse; 
import org.springframework.stereotype.Controller; 
import org.springframework.web.bind.annotation.RequestMapping; 
import org.springframework.web.bind.annotation.ResponseBody; 
import com.tydic.qop.vo.param.RealTimeReportParamVo; 
 
@Controller 
@RequestMapping(value = "/exportStream") 
public class testExportByStream { 
  /* 
   * 导出文件通过流 
   */ 
  @RequestMapping(value = "/exportStream.html") 
  @ResponseBody 
   public String exportByStream(RealTimeReportParamVo params, HttpServletResponse response) throws Exception{ 
 
    String fileName="接口统计分析"; 
     
    response.reset(); 
    response.setContentType("application/octet-stream;charset=utf-8"); 
    response.setHeader("Content-Disposition", "attachment;filename="+ new String((fileName + ".txt").getBytes(), "iso-8859-1")); 
    ServletOutputStream out = response.getOutputStream(); 
    BufferedInputStream bis = null; 
    BufferedOutputStream bos = null; 
    for(int i=0;i<1000000;i++){ 
      String contentStr="aaa自己写的controller"+i+"\n"; 
      System.out.println(contentStr); 
      byte[] contentByte=(contentStr).getBytes(); 
      InputStream is = new ByteArrayInputStream(contentByte); 
      readWrite(is,out,bis,bos); 
       
    } 
      if (bis != null) 
        bis.close(); 
      if (bos != null) 
        bos.close(); 
    return null; 
  } 
   
  public void readWrite(InputStream is,ServletOutputStream out,BufferedInputStream bis,BufferedOutputStream bos){ 
    try { 
      bis = new BufferedInputStream(is); 
      bos = new BufferedOutputStream(out); 
      byte[] buff = new byte[2048]; 
      int bytesRead; 
      // Simple read/write loop. 
      while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) { 
        bos.write(buff, 0, bytesRead); 
      } 
      bos.flush(); 
    } catch (final IOException e) { 
      e.printStackTrace(); 
    } 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • java项目jar包与jdk的版本不兼容的问题解决

    java项目jar包与jdk的版本不兼容的问题解决

    这篇文章主要介绍了java项目jar包与jdk的版本不兼容的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 员工管理系统java版

    员工管理系统java版

    这篇文章主要为大家详细介绍了java版的员工管理系统,,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 关于maven下载慢的问题

    关于maven下载慢的问题

    这篇文章主要介绍了关于maven下载慢的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • java.sql.SQLException:com.mysql.cj.jdbc.Driver报错问题解决

    java.sql.SQLException:com.mysql.cj.jdbc.Driver报错问题解决

    这篇文章主要给大家介绍了关于java.sql.SQLException:com.mysql.cj.jdbc.Driver报错问题解决的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • CorsFilter 过滤器解决跨域的处理

    CorsFilter 过滤器解决跨域的处理

    这篇文章主要介绍了CorsFilter 过滤器解决跨域的处理操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Spring项目里将SQL语句写在.sql文件中的方法

    Spring项目里将SQL语句写在.sql文件中的方法

    这篇文章主要介绍了Spring项目里如何将SQL语句写在.sql文件中的方法,文中给出了详细的介绍和示例代码,相信对大家的学习或者工作具有一定的参考借鉴价值,有需要的朋友们下面来一起看看吧。
    2017-01-01
  • Spring Boot+Drools规则引擎整合详解

    Spring Boot+Drools规则引擎整合详解

    本篇文章主要介绍了Spring Boot+Drools规则引擎整合,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • idea配置SVN的教程

    idea配置SVN的教程

    文章介绍了如何安装和配置TortoiseSVN以及在IntelliJ IDEA中配置SVN,首先,安装TortoiseSVN时需要选择与电脑配置相匹配的版本,并确保安装命令行客户端工具,其次,在IntelliJ IDEA中配置SVN时,需要指定SVN可执行文件的路径
    2025-01-01
  • 教新手使用java如何对一个大的文本文件内容进行去重

    教新手使用java如何对一个大的文本文件内容进行去重

    用HashSet对内容去重这个过程jvm会内存溢出,只能首先将这个大文件中的内容读取出来,对每行String的hashCode取模取正整数,可用取模结果作为文件名,将相同模数的行写入同一个文件,再单独对每个小文件进行去重,最后再合并
    2021-06-06
  • MyBatis实现MySQL批量插入的示例代码

    MyBatis实现MySQL批量插入的示例代码

    本文主要介绍了MyBatis实现MySQL批量插入的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05

最新评论