`
guoweimail
  • 浏览: 206841 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

javacsv导出

    博客分类:
  • Java
阅读更多

代码中采用的是GBK编码;

如果用UTF-8编码的话,用office打开会出现中文乱码,用UTF-8编码格式读取出来的数据也是正常的;但是用记事本打开就是正常;

代码如下:附带jar包和源文件

package com.willson.web.test.javacsv;

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;

public class JavaCsv {

	/**
	 * @param args
	 * @throws Exception
	 */
	public static void main(String[] args) throws Exception {

		final String[] header = new String[] { "name", "sex", "age" };
		final String[][] data = new String[][] { header, { "Lucy", "女", "22" },
				{ "Tom", "男", "25" }, { "Lily", "女", "19" } };

		writerCsv("测试.csv", header, data);

		readerCsv("测试.csv");
	}

	/**
	 * 读取csv
	 * 
	 * @param csvFilePath
	 * @throws Exception
	 */
	public static void readerCsv(String csvFilePath) throws Exception {

		CsvReader reader = new CsvReader(csvFilePath, ',', Charset
				.forName("GBK"));// shift_jis日语字体
		reader.readHeaders();
		String[] headers = reader.getHeaders();

		List<Object[]> list = new ArrayList<Object[]>();
		while (reader.readRecord()) {
			list.add(reader.getValues());
		}
		Object[][] datas = new String[list.size()][];
		for (int i = 0; i < list.size(); i++) {
			datas[i] = list.get(i);
		}

		/*
		 * 以下输出
		 */

		for (int i = 0; i < headers.length; i++) {
			System.out.print(headers[i] + "\t");
		}

		System.out.println("");

		for (int i = 0; i < datas.length; i++) {

			Object[] data = datas[i]; // 取出一组数据

			for (int j = 0; j < data.length; j++) {

				Object cell = data[j];
				System.out.print(cell + "\t");
			}

			System.out.println("");
		}
	}

	/**
	 * 写入csv
	 * 
	 * @param csvFilePath文件名路径
	 *            +文件名字
	 * @param header数据标头
	 * @param data数据项
	 */
	public static void writerCsv(String csvFilePath, String[] header,
			String[][] data) {

		CsvWriter writer = null;
		try {
			writer = new CsvWriter(csvFilePath, ',', Charset.forName("GBK"));// shift_jis日语字体

			for (int i = 0; i < data.length; i++) {
				writer.writeRecord(data[i]);
			}
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			writer.close();
		}
	}

}

 

分享到:
评论
3 楼 xsw331 2014-09-02  
2 楼 rock1103 2012-09-14  
不错啊,中文也可以
1 楼 chengpeinishi 2012-07-06  
亲们,资源可用哦。

相关推荐

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

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

    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格式的文件,导出CSV文件不支持多个sheet页。

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

    为了应对这种情况,我们需要采用优化策略来实现高效且不会内存溢出的大数据量CSV导出。 首先,了解Java中处理CSV的基本方法。Java标准库并没有提供直接处理CSV的API,但我们可以借助第三方库,如Apache Commons CSV...

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

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

    javaCSV导入导出

    javaCSV导入导出 ... File file = new File("C:/name.csv"); FileOutputStream out = new FileOutputStream(file); OutputStreamWriter osw = new OutputStreamWriter(out); BufferedWriter bw = new ...

    csv文件导入导出工具类

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

    Java 导出CSV

    Java作为一种强大的编程语言,提供了多种方法来处理CSV文件,包括读取和导出。本主题将深入探讨如何在Java中导出CSV,以及与Excel相比的优势。 1. **CSV文件格式**: CSV文件是通过逗号分隔值来存储数据的文本文件...

    Java CSV批量导出工具类

    在Java编程环境中,CSV(Comma Separated Values)是一种常见的数据交换格式,广泛用于数据导入导出。"Java CSV批量导出工具类"是专为处理大量数据而设计的,尤其适用于那些需要处理千万级别的大数据集的情况。这个...

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

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

    javacsv导入导出代码

    csv 总结导入导出 已经自测过,没有问题

    java 大数据导出csv小工具

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

    javacsv-2.1.jar

    JavaCSV库是一个用于Java编程语言的数据导入和导出工具,主要功能是帮助开发者处理CSV(逗号分隔值)文件。CSV格式广泛应用于数据交换,因为它简单、通用且易于读写。javacsv-2.1.jar是这个库的一个特定版本,它包含...

    java csv共用javacsv.jar.zip

    这个名为"java csv共用javacsv.jar.zip"的压缩包,包含了一个名为`javacsv.jar`的库文件,可以被Java项目引用以实现CSV文件的相关功能。 `javacsv`库由`csvreader`和`csvwriter`两个主要部分组成。`CsvReader`类...

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

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

    csv导出大量数据

    本篇文章将深入探讨CSV导出大量数据的相关知识点。 1. CSV文件结构 CSV文件的基本结构非常简单,每一行代表一个记录,每列数据由逗号分隔。列的顺序和名称通常在文件的第一行作为表头。例如: ``` 姓名,年龄,城市 ...

    高性能导出csv

    下面我们将详细探讨如何实现高性能的CSV导出。 1. **内存管理与数据分块** 高性能CSV导出首先要考虑的是内存管理。一次性将所有数据加载到内存可能导致内存溢出,尤其是处理大量数据时。为了解决这个问题,可以...

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

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

    javacsv2.1实例

    Java CSV库,如javacsv 2.1,是处理CSV(逗号分隔值)文件的工具,这种格式在数据交换中非常常见,尤其在导入导出表格数据时。CSV因其简单、通用且易于处理的特性而广泛使用。下面我们将深入探讨javacsv 2.1库以及...

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

    在Java开发中,有时我们需要将后端数据导出为CSV(Comma Separated Values)文件,以便用户可以方便地下载和处理数据。CSV文件是一种通用的、轻量级的数据交换格式,适合存储表格数据。本篇文章将深入探讨如何使用...

Global site tag (gtag.js) - Google Analytics