我是靠谱客的博主 顺利小熊猫,最近开发中收集的这篇文章主要介绍java导出文件之Excel(CSV)下并以流形式输出,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

<dependency>

    <groupId>net.sourceforge.javacsv</groupId>

    <artifactId>javacsv</artifactId>

    <version>2.0</version>

</dependency>
@Test
public void write(){
try {
// 创建CSV写对象
List<Student> ls=new ArrayList<Student>();
for (int i = 0; i <1000000; i++) {
Student s=new Student();
s.setName("小帅"+i);
s.setAge(i);
s.setScore("100"+i);
s.setSex("男"+i);
ls.add(s);
}
//写入临时文件
File tempFile = File.createTempFile("vehicle", ".csv");
CsvWriter csvWriter = new CsvWriter(tempFile.getCanonicalPath(),',', Charset.forName("UTF-8"));
// 写表头
long s= System.currentTimeMillis();
System.err.println();
String[] headers = {"姓名","年龄","编号","性别"};
csvWriter.writeRecord(headers);
for (Student stu : ls) {
csvWriter.write(stu.getName());
csvWriter.write(stu.getAge()+"");
csvWriter.write(stu.getScore());
csvWriter.write(stu.getSex());
csvWriter.endRecord();
}
csvWriter.close();
long e=System.currentTimeMillis();
System.err.println(e-s);;
/**
* 写入csv结束,写出流
*/
java.io.OutputStream out = getResponse.getOutputStream();
byte[] b = new byte[10240];
java.io.File fileLoad = new java.io.File(tempFile.getCanonicalPath());
getResponse.reset();
getResponse.setContentType("application/csv");
getResponse.setHeader("content-disposition", "attachment; filename=vehicleModel.csv");
long fileLength = fileLoad.length();
String length1 = String.valueOf(fileLength);
getResponse.setHeader("Content_Length", length1);
java.io.FileInputStream in = new java.io.FileInputStream(fileLoad);
int n;
while ((n = in.read(b)) != -1) {
out.write(b, 0, n); //每次写入out1024字节
}
in.close();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}

网上找太多,眼逗看累了。自己写个简单的 


参考文章:http://blog.csdn.net/loongshawn/article/details/53423121

ps:version我本地只能用2.0;以流的形式写出游览器不用做操作文件会直接下载;

2:因为csvWriter不提供类似Poi的写入流  workbook.write(out);故在csv写入数据完之后,要手动把文件写入流;


最后

以上就是顺利小熊猫为你收集整理的java导出文件之Excel(CSV)下并以流形式输出的全部内容,希望文章能够帮你解决java导出文件之Excel(CSV)下并以流形式输出所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部