2009年02月28日

JavaでExcel仕様のCSVファイルの読み込みと表示

ExcelのCSV仕様に沿ったCSVファイルデータをJavaで分割・表示します。というソースを作成しようと思いましたが、既にあったので、紹介します。

OpenCsv「CSVReaderクラス」
http://opencsv.sourceforge.net/

【ExcelのCSV仕様】
エンクォート文字(")で囲まれた区切り文字(,)および改行はスキップします。
また、項目中のエンクォート文字(")の連続2個("")は、エンクォート文字1個(")に置き換えられます。
具体例:
47201,"900 ","900,""0000"
というデータは、
[47201] [900 ] [900,"0000]
のように分割されます。

【使用例】

import java.io.FileReader;

public class CsvFileReadSkeleton {

public static void main(String[] args) throws Exception {
CSVReader reader = new CSVReader(new FileReader("c:\\okinawa.csv"));
String [] nextLine;
int i=1;
while ((nextLine = reader.readNext()) != null) {
// nextLine[] is an array of values from the line
System.out.println("Row Number => " + i);
for( String data : nextLine ) {
System.out.println("[" + data + "]");
}
i++;
}
}
}
posted by 台北猫々 at 23:39| Comment(0) | TrackBack(0) | 技術メモ(Java)