Java 导出CSV文件及实现web下载CSV
来源:互联网 发布:金山毒霸软件 编辑:程序博客网 时间:2024/05/02 01:33
本文主要介绍Java 导出CSV文件到本地及实现web下载CSV。
1.Java 导出CSV文件到本地
csvWriter:
package com.csvio;import java.io.BufferedWriter;import java.io.IOException;import java.io.Writer;import java.util.List;public class CsvWriter extends BufferedWriter {/** * set wirter * * @param out writer */public CsvWriter(final Writer out) {super(out);}/** * csv Write line * * @param csvLine * csv line * @throws IOException IOException */public void writeLine(final List<String> csvLine) throws IOException {StringBuffer sb = new StringBuffer();for (int i = 0; i < csvLine.size(); i++) {String line = csvLine.get(i);if (line == null) {line = "";}sb.append("\"").append(line.replaceAll("\"", "\"\"")).append("\",");}super.write(sb.deleteCharAt(sb.length() - 1).toString());super.newLine();}}
package com.csvio;public class Student { private String name; private String sex; private int age; public Student() { } public Student(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } public int getAge() { return age; } public String getName() { return name; } public String getSex() { return sex; } public void setAge(int age) { this.age = age; } public void setName(String name) { this.name = name; } public void setSex(String sex) { this.sex = sex; } @Override public String toString() { return "Student [toString()=" + this.name + "-->" + this.sex + "-->" + this.age + "]"; }}
client:
package com.csvio;import java.io.File;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;public class CsvClient { /** * @param args */ public static void main(String[] args) { File file = getFile(); List<Student> stooges = new ArrayList<Student>(); for (int i=0;i<5;i++){ Student stu = new Student(); stu.setAge(i+10); stu.setName("name " +i); stu.setSex(i/2==0 ?"boy":"girl"); stooges.add(stu); } CsvWriter cw = null; try {// J2EE Web下载时为下面注释的代码,传人的参数是HttpServletResponse// cw = new CsvWriter(response.getWriter()); cw = new CsvWriter(new PrintWriter(file)); for (Student stu : stooges) { cw.writeLine(getCsvLine(stu)); } cw.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { if (cw != null) { cw.close(); } } catch (IOException e) { e.printStackTrace(); } } System.out.println("Done."); } private static List<String> getCsvLine(Student stu) { List<String> csvLine = new ArrayList<String>(); csvLine.add(stu.getName()); csvLine.add(Integer.toString(stu.getAge())); csvLine.add(stu.getSex()); return csvLine; } private static File getFile() { String path = "E:\\test\\"; String filename="abc.csv"; File directory = new File(path); if (!directory.exists()) directory.mkdirs(); File file = new File(path + filename); if (!file.exists()){ try { file.createNewFile(); } catch (IOException e1) { e1.printStackTrace(); } } return file; }}
2. web下载CSV
web下载csv的原理和输出到本地一致,就是将HttpServletResponse的流内容(writer)写入到浏览器,前提是该response的header中content-Type要告诉浏览器以下载模式接受,具体参数参见http://blog.csdn.net/bluefish625/article/details/6659288 。 0 0
- Java 导出CSV文件及实现web下载CSV
- java web 导出csv文件
- 用CSV框架导出csv文件实现下载(jsp)
- java实现xls、csv文件导出或下载
- java代码实现CSV文件读取、将数据拆分成多个CSV文件及数据导出到CSV文件
- Servlet实现导出下载csv文件
- java web app 导出csv excel 文件
- java导出CSV文件
- java导出CSV文件
- java 导出csv文件
- java导出CSV文件
- java 导出csv文件
- Java 导出 .csv 文件
- java导出csv文件
- Java导出CSV文件
- java实现无组件导出CSV文件
- java 实现csv文件导入导出
- C#导出csv文件,下载
- JUNIT的粗略介绍
- iOS开发中block基本使用
- hdu 5532 Almost Sorted Array 2015 长春区域赛 模拟
- Android性能优化典范 - 第2季
- Wireshark入门:第一次亲密接触
- Java 导出CSV文件及实现web下载CSV
- java/oracle日期处理
- 二叉树的深度
- Android性能优化典范 - 第3季
- 二分查找
- Gulp
- 冒泡法排序
- Material System结构
- Android内存优化之OOM