`

用JAVA导出CSV

    博客分类:
  • Java
 
阅读更多
/**
     * 导出为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文件

    java导出数据时,如果对数据格式没有特殊要求,为了提高效率可以导出CSV格式的文件,导出CSV文件不支持多个sheet页。

    java 导出csv格式文件(支持实体类输入)

    java 导出csv格式文件(支持实体类输入)

    java导出csv文件并压缩(含下载提示功能)

    在Java编程环境中,导出CSV(逗号分隔值)文件并将其压缩成ZIP格式是一项常见的任务,特别是在处理大量数据时。CSV文件因其简洁、通用的格式,常用于数据交换和存储。本教程将深入讲解如何实现这个过程,并提供前...

    java 浏览器导出csv文件

    2.生成csv,中文无乱码,数据不会科学计数法; 3.支持大数据下载; 4.后台服务java语言实现,前端不限制; 5.前端代码: [removed]void(0)" class="layui-btn"&gt; &lt;i class="fa fa-refresh"&gt;&nbsp;导出Excel ...

    java 大数据导出csv小工具

    标题中的“java 大数据导出csv小工具”指的是一个基于Java编程语言开发的应用程序,其主要功能是将大量数据转换并导出为CSV(逗号分隔值)格式的文件。CSV是一种通用的文件格式,广泛用于数据交换,因为它可以被...

    java导出CSV文件,EXCEL文件(不用指定下载路劲)

    在Java编程中,导出CSV(Comma Separated Values)和Excel文件是常见的数据处理任务,特别是在数据分析、报表生成和数据交换场景下。本篇将详细介绍如何在Java中实现这两个功能,无需指定下载路径,直接将文件保存到...

    Java 导出CSV

    - **速度**:与Excel相比,使用Java导出CSV文件通常更快,因为它避免了Excel的内存占用和计算开销。 - **灵活性**:Java可以灵活地控制文件的生成过程,例如自定义分隔符、编码、换行符等。 - **可扩展性**:Java...

    java实现csv导出千万级数据实例

    本实例聚焦于“java实现csv导出千万级数据实例”,旨在提供一个高效、稳定的解决方案,避免因数据量过大而导致的性能问题,如Java中的栈溢出(Stack Overflow)。CSV(Comma Separated Values)格式因其简单、通用性...

    java 导出csv文件并上传sftp

    在Java编程环境中,导出CSV(Comma Separated Values)文件是一种常见的数据交换格式,尤其在数据处理和分析中非常流行。CSV文件以其简洁、易读的特性,使得它们成为跨平台传输数据的理想选择。本篇文章将深入探讨...

    java csv大数据量导出(千万级别,不会内存溢出)

    在Java开发中,处理大数据量的数据导出是一个常见的挑战,特别是在CSV格式的文件处理上。CSV(Comma Separated Values)是一种广泛使用的数据交换格式,因其简单性和通用性而受到青睐。然而,当数据量达到千万级别时...

    高性能导出csv

    在IT领域,高效地导出CSV文件是一项重要的技能,特别是在大数据处理、数据分析以及报表生成等场景。下面我们将详细探讨如何实现高性能的CSV导出。 1. **内存管理与数据分块** 高性能CSV导出首先要考虑的是内存管理...

    java实现导出csv文件并上传sftp

    综上所述,通过使用univocity-parsers库,我们可以在Java后端将数据导出为CSV文件,然后利用JSch库将生成的CSV文件安全地上传到SFTP服务器。这个过程涉及到了文件操作、网络传输和安全性等多个方面的知识,对于开发...

    java 导出csv

    java 导出csv

    EasyCSV_导出CSV工具类_easyCsv导出csv_easy-cvs_easycsv_

    本文将详细介绍一个名为EasyCSV的工具类,它为Java开发者提供了一个简便的方式来导出CSV文件。 EasyCSV是Java的一个轻量级库,设计用于简化CSV文件的读写操作。它的核心功能在于其API简洁易用,使得开发者可以快速...

    Java操作csv文件

    本文将深入探讨如何使用Java语言来操作CSV文件,包括读取、写入以及处理CSV数据。 首先,Java并没有内置的库直接支持CSV操作,但我们可以借助第三方库,如Apache Commons CSV、OpenCSV或Java 8引入的java.util.CSV ...

    java生成csv文件乱码的解决方法示例 java导出csv乱码

    CSV文件是一种常见的数据交换格式,通常用于导入和导出数据到电子表格程序如Microsoft Excel。当在Java程序中创建或读取CSV文件时,确保正确的字符编码是至关重要的,尤其是对于包含非ASCII字符(如中文字符)的数据...

    java使用jdbc将数据库数据导出到csv文件.pdf

    Java 使用 JDBC 将数据库数据导出到 CSV 文件 Java 是一种广泛使用的编程语言,它提供了多种方式来处理数据库数据,而 JDBC(Java Database Connectivity)是 Java 中连接数据库的标准 API 之一。将数据库数据导出...

    java导出,导入CSV

    本篇将详细讲解如何使用Java进行CSV文件的导出与导入操作,以及涉及到的相关知识点。 首先,我们需要引入一个第三方库来简化处理CSV文件的工作。在提供的压缩包中,包含了一个名为`javacsv-2.0.jar`的库,这是一个...

    1-Gbase导出csv文件教程

    1-Gbase导出csv文件教程

    csv文件导入导出工具类

    csv的文件的导入导出可能会用的到,需要的可以下一下把

Global site tag (gtag.js) - Google Analytics