java导出cvs文件

package testcvs;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;

/**
*
* CSV文件导出工具类
*/
public class CSVUtils {

public static void main(String[] args) {

List<Object> list = new ArrayList();
list.add("标题1姓名");
list.add("标题2年龄");

List<Object> list3=new ArrayList<Object>();
list3.add("数据11");
list3.add("数据22");
List<List<Object>> dataList=new ArrayList<List<Object>>();
dataList.add(list3);

createCSVFile(list, dataList);
System.out.println("ok");
}

/**
* CSV文件生成方法
*
* @param head
* @param dataList
* @param outPutPath
* @param filename
* @return
*/
public static File createCSVFile(List<Object> head,
List<List<Object>> dataList) {

File csvFile = null;
BufferedWriter csvWtriter = null;
try {
csvFile = new File("d:\\ExportCVSFile.csv");//d:\\ExportCVSFile.csv代表导出文件的物理位置
File parent = csvFile.getParentFile();//得到父目录
if (parent != null && !parent.exists()) {
parent.mkdirs();//创建文件夹
}
csvFile.createNewFile();//创建具体的文件

// GB2312使正确读取分隔符","
csvWtriter = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(csvFile), "GB2312"), 1024);
// 写入文件头部
writeRow(head, csvWtriter);

// 写入文件内容
for (List<Object> row : dataList) {
  writeRow(row, csvWtriter);
}
  csvWtriter.flush();

} catch (Exception e) {

  e.printStackTrace();
} finally {
try {
  csvWtriter.close();
} catch (IOException e) {
  e.printStackTrace();
}

}
return csvFile;
}

/**
* 写一行数据方法
*
* @param row
* @param csvWriter
* @throws IOException
*/
private static void writeRow(List<Object> row, BufferedWriter csvWriter)
throws IOException {
// 写入文件头部
for (Object data : row) {
  StringBuffer sb = new StringBuffer();

    //rowStr"标题1姓名",
    // rowStr"标题2年龄",
    // rowStr"数据11",
    // rowStr"数据22",

  String rowStr = sb.append("\"").append(data).append("\",").toString();//"+数据+"
  csvWriter.write(rowStr);
}
  csvWriter.newLine();//每次调用换一行
}
}

最终效果图:

时间: 2024-10-05 04:44:55

java导出cvs文件的相关文章

Java导出pdf文件数据

提示:导出pdf文件,需要3个jar包iText-2.1.5.jar,iTextAsian.jar,iText-rtf-2.1.4.jar. public boolean outputPdfJhsy(EntityBean data) { try { Global.getInstance().LogApp("导出pdf开始"); String pdfpath = File.get("LEAP/NSESTModule/WRModule/nsjhsyzm.pdf").ge

java 导出Excel文件

最近在做一个文件导出功能,发现大部分博客上通过引用各种的util工具包,其实说白了还是利用apache的poi,在项目中直接导入poi包就可以.直面其原理,随个人喜好封装. 1.首先准备一些poi的jar包 2.准备好jar包之后就可以写代码了,接下来我就把代码写简单,让大家都能看懂.至于你后面想用多么牛逼的代码实现它,都可以,只要原理懂了,其它的都不是事,对吧. 首先我要建一个实体类:Student.class package testExport; /**  *  * @author lf

java导出txt文件

1:vm模板页面的代码片段 <div class="col-sm-1"> <button type="button" class="btn btn-warning btn-sm" id="exportText"><i class="glyphicon glyphicon-file"/>导出文本文件</button> </div> 2:JavaScr

java导出cvs

public boolean exportDataToCSV(List dataList, LinkedHashMap<String, String> showTitle, String fileName, HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException { boolean flag = false; if (response != null &&

java导出xlsx文件

UserPortalStatisticExportService.java /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package com.ndkey.am.statistics

java导出csv文件使用Excel打开乱码问题

写一个csv文件,发现使用 notpad++ 打开是没有问题的,但是使用 Excel 打开之后显示乱码 刚开始的代码是这样子的: ByteArrayOutputStream os = new ByteArrayOutputStream(); PrintWriter printWriter = new PrintWriter(os); printWriter.write("\"品牌商\",\"事业部账户余额(单位元)\",\"事业部\"\

Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件

本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.HashMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import

Java Keytools 证书转换成Openssl 的PEM 文件或keytools 导出私钥文件

上一遍又说到Godaddy 生请证书流程与操作: 现因使用Incapsula 防护使用到https,在添加网站时需要自定义证书,其中需要上传私钥信息,因公钥是能过keytool 生成所以需要导出私钥信息: 导出的步骤如下: 一:安装openssl and openssl-devel: yum -y install openssl openssl-devel 二:能过keytool 导出证书文件cer的格式,其中1234567 前面生成tomcat.keystore 文件密码: /usr/java

Java web中不同浏览器间导出Excel文件名称乱码问题解决方案

问题描述: 对于不同浏览器存在对中文编码格式问题,从而在导出Excel文件时,中文文件名出现乱码的情况,即在程序中给要导出的文件指定一个中文名字时,在浏览器上出现的下载框中的文件名出现了乱码,解决如下: 解决方案: [java] view plain copy Date dt=new Date();//如果不需要格式,可直接用dt,dt就是当前系统时间 DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//设置显示格