`

java导出CSV文件

    博客分类:
  • Java
阅读更多

最近有个项目要将数据库中查出来的数据导出到CSV文件,晚上抽时间研究了下用javacsv来实现,在这里将简单的例子共享给大家,其实CSV就是COMMA SEPARATED VALUE的缩写,javacsv是国外开发的一个比较好的操作csv文件的API,这里简单讲一下用法。

当然你还可以用supecsv 或者 opencsv啦。

先下载javacsv2.0.zip的文件,解压后,把javacsv.jar 添加到项目中。

 

官方下载地址:
http://sourceforge.net/project/showfiles.php?group_id=33066

API地址:

http://javacsv.sourceforge.net/
简单的操作代码:

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
 
public class DB2ExportCsv
{
    /**
    * 读取CSV文件
    */
    public void  readCsv(){
        try {    
				ArrayList<String[]> csvList = new ArrayList<String[]>(); //用来保存数据
				String csvFilePath = "D:/log/Alarm20101125.csv";
				CsvReader reader = new CsvReader(csvFilePath,',',Charset.forName("SJIS"));    //一般用这编码读就可以了    
				 
				reader.readHeaders(); // 跳过表头   如果需要表头的话,不要写这句。
				 
				while(reader.readRecord()){ //逐行读入除表头的数据    
					csvList.add(reader.getValues());
				}            
				reader.close();
				 
				for(int row=0;row<csvList.size();row++){
				     String  cell = csvList.get(row)[0]; //取得第row行第0列的数据
				     System.out.println(cell);
				}     
			} catch (Exception ex) {
					System.out.println(ex);
				}
    }
    
    /**
     * 写入CSV文件
     */
    public static void WriteCsv(){
        try {
				String csvFilePath = "D:/log/Alarm20101125.csv";
				CsvWriter wr =new CsvWriter(csvFilePath,',',Charset.forName("SJIS"));
				String[] contents = {"告警信息","非法操作","没有权限","操作失败"};                    
				wr.writeRecord(contents);
				wr.close();
         } catch (IOException e) {
            e.printStackTrace();
         }
    }
}

 想了解更多的函数请查看javacsv2.0/doc/index.html说明。我觉得javacsv2.0/src/AllTests.java看看也很有用。大家可以去试试

分享到:
评论
2 楼 笑闯天下 2014-11-13  
感觉效率不是很高啊 ,如果从数据库中取到的数据 还要去自己拼接svn格式吗 这样的话 如果数据比较庞大的话会不会出现内存溢出的情况呢?
1 楼 无象心 2013-12-03  

相关推荐

Global site tag (gtag.js) - Google Analytics