package com.qxs.web.util; import com.google.common.collect.Lists; import org.apache.log4j.Logger; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.nio.charset.Charset; import java.util.List; /** * Created by 屈想顺 on 2018/1/22. */ public class CSVfileUtil { private static final Logger logger = Logger.getLogger(CSVfileUtil.class); public static void main(String[] args){ String path = "D:/"; String fileName = "test"; List<String> dataList = Lists.newArrayList(); dataList.add("名字,年龄,性别"); dataList.add("曹操,22,男"); dataList.add("刘备,20,男"); dataList.add("孙权,19,男"); try { createCsv(path, fileName, dataList); } catch (Exception e) { e.printStackTrace(); } } /** * 导出 * @param fileName csv文件(路径+文件名),csv文件不存在会自动创建 * @param dataList 数据 * @return */ public static File createCsv(String path, String fileName, List<String> dataList) throws Exception { File csvFile = null; FileOutputStream out = null; try { File file = new File(path); if (!file.exists()) { file.mkdir(); } // 定义文件名格式并创建 csvFile = File.createTempFile(fileName, ".csv", new File(path)); logger.info("csvFile:" + csvFile); //字符 导出csv 文件的乱码问题,需要加BOM头 out = new FileOutputStream(csvFile); out.write(new byte[] { (byte) 0xEF, (byte) 0xBB,(byte) 0xBF }); int i = 0; if (dataList != null && !dataList.isEmpty()) { for (String data : dataList) { out.write(data.getBytes(Charset.forName("UTF-8"))); if (i != dataList.size() - 1) out.write("\r".getBytes()); i++; } } } catch (Exception e) { logger.info("Create CSV file is error: ", e); } finally { if (out != null) { out.close(); } } return csvFile; } }
java csv 文件导出
猜你喜欢
转载自blog.csdn.net/crazy__qu/article/details/79198272
今日推荐
周排行