java导出CSV文件

最近有个项目要将数据库中查出来的数据导出到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看看也很有用。大家可以去试试

你可能感兴趣的:(java,html,PHP,.net)