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

网友投稿 297 2023-05-21


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

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

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

packahttp://ge 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++){

hVYsQOjLC 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();

}

}

}

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实例化的几种方法总结
下一篇:spring boot日志管理配置
相关文章

 发表评论

暂时没有评论,来抢沙发吧~