/** * 导出为CVS文件 * * @param exportData 需要导出的数据 * @param titleMap 与数据相对应的标题 * @param outPutPath 导出目录 */ public static File createCSVFile(List<Map<String, String>> exportData, LinkedHashMap<String, String> titleMap, String outPutPath) { File csvFile = null; BufferedWriter csvFileOutputStream = null; try { File f=new File(outPutPath); if(!f.exists()){ f.mkdirs(); } csvFile = File.createTempFile("temp", ".csv", new File(outPutPath)); // GB2312使正确读取分隔符"," csvFileOutputStream = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(csvFile), "GB2312"), 1024); // 写入文件头部标题 for (Iterator propertyIterator = titleMap.entrySet().iterator(); propertyIterator.hasNext();) { java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next(); csvFileOutputStream.write("\"" + propertyEntry.getValue().toString() + "\""); if (propertyIterator.hasNext()) { csvFileOutputStream.write(","); } } csvFileOutputStream.newLine(); // 写入文件内容 for (Iterator iterator = exportData.iterator(); iterator.hasNext();) { Map row = (Map) iterator.next(); for (Iterator propertyIterator = titleMap.entrySet().iterator(); propertyIterator.hasNext();) { java.util.Map.Entry propertyEntry = (java.util.Map.Entry) propertyIterator.next(); csvFileOutputStream.write("\"" + row.get(propertyEntry.getKey().toString()).toString() + "\""); if (propertyIterator.hasNext()) { csvFileOutputStream.write(","); } } if (iterator.hasNext()) { csvFileOutputStream.newLine(); } } csvFileOutputStream.flush(); } catch (Exception e) { e.printStackTrace(); } finally { try { csvFileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } return csvFile; } public static void main(String[] args) { List<Map<String, String>> exportData = new ArrayList<Map<String, String>>(); Map row1 = new LinkedHashMap<String, String>(); row1.put("1", "11"); row1.put("2", "12"); row1.put("3", "13"); row1.put("4", "14"); exportData.add(row1); row1 = new LinkedHashMap<String, String>(); row1.put("1", "21"); row1.put("2", "22"); row1.put("3", "23"); row1.put("4", "24"); exportData.add(row1); LinkedHashMap<String, String> map = new LinkedHashMap<String, String>(); map.put("1", "第一列"); map.put("2", "第二列"); map.put("3", "第三列"); map.put("4", "第四列"); createCSVFile(exportData, map, "D:/newTest"); }
相关推荐
java导出数据时,如果对数据格式没有特殊要求,为了提高效率可以导出CSV格式的文件,导出CSV文件不支持多个sheet页。
java 导出csv格式文件(支持实体类输入)
2.生成csv,中文无乱码,数据不会科学计数法; 3.支持大数据下载; 4.后台服务java语言实现,前端不限制; 5.前端代码: [removed]void(0)" class="layui-btn"> <i class="fa fa-refresh"> 导出Excel ...
1.将数据导成.csv格式,并压缩成.zip格式后,显示下载提示(含保存文件路径) 2.前后台代码都有哦
轻松解决普通poi形式导出Excel的中出现的栈溢出问题,此资源可实现千万级数据分批导出csv文件,测试实现16500000条数据大概80秒左右;具体表里内容。
高性能导出csv,高性能导出csv,高性能导出csv,高性能导出csv
亲测OK,可直接导出excel文件,csv文件;不用指定下载路劲,直接下载到本地,服务器不用生成临时文件。
java实现后端数据导出成csv文件并上传到指定的sftp服务器,主要是使用univocity-parsers来做的csv文件导出以及采用jsch来完成csv文件的sftp上传。
java csv大数据量导出(千万级别,不会内存溢出),多线程导出 ,生产环境已经很稳定的使用着
java 导出csv
导出CSV,好用的工具类,可轻松导出CSV文件到本地
csv导出使用的使用的是univocity-parsers的支持类库,sftp上传采用的是jsch的类库,两者结合实现了数据导出成csv文件并上传指定服务器
主要介绍了java生成csv文件乱码的解决方法,大家可以直接看下面的示例
Java导出CSV测试代码,导出的速度比Excel快多了,包含测试代码和对应的jar
csv的文件的导入导出可能会用的到,需要的可以下一下把
java使用jdbc将数据库数据导出到csv文件
java 并发导出数据小工具,支持oracle!
java导出,导入CSV javacsv-2.0.jar 含demo工具类
csv 总结导入导出 已经自测过,没有问题
NULL 博文链接:https://312256159-qq-com.iteye.com/blog/1686213