Packagecom.kujirahand
Classpublic class CSVUtils

CSV ファイル(Excel準拠)のテキストを、Array や ArrayCollection に変換するもの。


Example
CSV形式のテキストを配列に変換する
        var csv_str = "name, value\naaa,30\nbbbb,50\ncccc,30\n";
        var csv_ary:Array = CSVUtils.CsvToArray(csv_str); // CSV→Array
        trace( CSVUtils.ArrayToCsv(csv_ary) ); // Array→CSV
     

DataGrid に CSVテキストを表示する
        // <mx:DataGrid id="data_grid">
        //    <mx:DataGridColumn dataField="name"/>
        //    <mx:DataGridColumn dataField="tel"/>
        //    <mx:DataGridColumn dataField="memo"/>
        // </mx:DataGrid>
        var csv_str = "name, tel, memo\naaa,03-xxx-xxxx,memo\nbbbb,03-xxx-xxxx\n";
        var csv_ary:Array = CSVUtils.CsvToArray(csv_str); // CSV→Array
        var mapping:Array = ['name', 'tel', 'memo'];
        var csv_ac:ArrayCollection;
        csv_ac = CSVUtils.ArrayToArrayCollection(csv_ary, mapping, true);
        data_grid.dataProvider = csv_ac; // set to DataGrid
     

See also

最新版ダウンロード(SVNリポジトリ)
ASDoc


Public Properties
 PropertyDefined by
  DEFAULT_SPLITTER : String = ","
[static] CSV の列の区切り記号(1文字のみ対応)
CSVUtils
Public Methods
 MethodDefined by
  
ArrayToArrayCollection(csv_ary:Array, mapping:Array, topline_is_header:Boolean = false):ArrayCollection
[static] CSVファイルをデータグリッドに表示するために、ArrayCollectionに変換する
CSVUtils
  
ArrayToCsv(csv_ary:Array, splitter:String, use_escape:Boolean = false):String
[static] 二次元配列をCSV形式に変換する
CSVUtils
  
CsvToArray(csv_str:String):Array
[static] CSV を配列に変換する関数
CSVUtils
  
CsvToArray_spl(csv_str:String, splitter:String):Array
[static] 任意の区切り記号のCSVを配列に変換する関数
CSVUtils
  
escapeCell(cell:String):String
[static] CSVのセル(文字列)を ".." で括ってエスケープする
CSVUtils
  
hasEscapeChar(cell:String, splitter:String):Boolean
[static] 文字列を ".." で括る必要があるかチェックする
CSVUtils
  
replaceStr(str:String, a:String, b:String):String
[static]
CSVUtils
  
split(csv_str:String, splitter:String):Array
CSVUtils
  
TsvToArray(tsv_str:String):Array
[static] TSVを配列に変換する関数
CSVUtils
Public Constants
 ConstantDefined by
  LINE_SPLLITER : String = " "
[static] 行の区切り記号は \n で固定
CSVUtils
Property detail
DEFAULT_SPLITTERproperty
public static var DEFAULT_SPLITTER:String = ","

 CSV の列の区切り記号(1文字のみ対応)

Method detail
ArrayToArrayCollection()method
public static function ArrayToArrayCollection(csv_ary:Array, mapping:Array, topline_is_header:Boolean = false):ArrayCollection

CSVファイルをデータグリッドに表示するために、ArrayCollectionに変換する

Parameters
csv_ary:Array — csv_ary 二次元配列変数
 
mapping:Array — mapping マッピングするフィールド名の配列
 
topline_is_header:Boolean (default = false) — topline_is_header 1行目をヘッダとして利用しているなら true にすると削る

Returns
ArrayCollection — 変換された ArrayCollection
ArrayToCsv()method 
public static function ArrayToCsv(csv_ary:Array, splitter:String, use_escape:Boolean = false):String

二次元配列をCSV形式に変換する

Parameters
csv_ary:Array — 配列変数
 
splitter:String — 区切り記号
 
use_escape:Boolean (default = false) — 必ず ダブルコーテーションで囲う場合

Returns
String — CSV形式の文字列
CsvToArray()method 
public static function CsvToArray(csv_str:String):Array

CSV を配列に変換する関数

Parameters
csv_str:String — CSV文字列

Returns
Array — 二次元配列変数
CsvToArray_spl()method 
public static function CsvToArray_spl(csv_str:String, splitter:String):Array

任意の区切り記号のCSVを配列に変換する関数

Parameters
csv_str:String
 
splitter:String

Returns
Array
escapeCell()method 
public static function escapeCell(cell:String):String

CSVのセル(文字列)を ".." で括ってエスケープする

Parameters
cell:String

Returns
String
hasEscapeChar()method 
public static function hasEscapeChar(cell:String, splitter:String):Boolean

文字列を ".." で括る必要があるかチェックする

Parameters
cell:String
 
splitter:String

Returns
Boolean
replaceStr()method 
public static function replaceStr(str:String, a:String, b:String):StringParameters
str:String
 
a:String
 
b:String

Returns
String
split()method 
public function split(csv_str:String, splitter:String):ArrayParameters
csv_str:String
 
splitter:String

Returns
Array
TsvToArray()method 
public static function TsvToArray(tsv_str:String):Array

TSVを配列に変換する関数

Parameters
tsv_str:String — TSV文字列

Returns
Array — 二次元配列変数
Constant detail
LINE_SPLLITERconstant
public static const LINE_SPLLITER:String = " "

行の区切り記号は \n で固定