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

2025-05-29 0 52

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

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

}

}

}

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 java 文件大数据Excel下载实例代码 https://www.kuaiidc.com/117085.html

相关文章

发表评论
暂无评论