                         CSV I/OCu.NET
                         =====================

                               2005-10-04
uguu(uguu@users.sourceforge.jp, http://www.uguu.mydns.jp, Uguu Software)
               http://sourceforge.jp/projects/csv-io-net/


ڎ
----

  1 Tv
  2 
  3 g
    3.1 CsvReader
      3.1.1 {IȎg
      3.1.2 Tips
    3.2 CsvWriter
      3.2.1 {IȎg
      3.2.2 Tips
      3.2.3 Tips - CsvWriter#Write() \bh
  4 CZX
  5 
  6 ̑


1 Tv
------

  .NET Framework  CSV ȒPɓǂݏłNX񋟂郉Cu
łB
  SourceForge.jp: Project File
List<http://sourceforge.jp/projects/csv-io-net/files/> A[X
ꂽpbP[W_E[h邱Ƃł܂B


2 
------

  pbP[W DLL `̃oCit@Cƃ\[XR[hi[Ă
܂BdŎgp̂ȂAǂ炩Ƃƃ\[XR[h𒼐ڎgp
̂yŗǂC܂B CsvReader.cs, CsvWriter.cs  2 
܂AꂼPƂœ삷悤ɂȂĂ܂BOԂ͓Kɕς
Ă܂ĂB


3 g
--------


3.1 CsvReader
-------------

  CSV `̃f[^ǂݍނɂ CsvReader NXgp܂B


3.1.1 {IȎg
--------------------

  ܂ACX^X܂BRXgN^ 2 ނ܂A{I
ɂ CsvReader(TextReader) RXgN^ĂяoΗǂłB؂蕶
Asw肷ꍇA EOF s̓ǂݍ݂ɂĎw肷ꍇ
CsvReader(TextReader, string, string, bool) RXgN^ĂяoĂ
B

------------------------------------------------------------------------
CsvReader csvReader = new CsvReader(reader);
try
{
    ...
}
finally
{
    csvReader.Close();
}
------------------------------------------------------------------------

  CsvReader NX IDisposable C^[tFCXĂ܂BȂ
ŁAL̗͎̂悤ɒu邱Ƃł܂B

------------------------------------------------------------------------
using (CsvReader csvReader = new CsvReader(reader))
{
    ...
}
------------------------------------------------------------------------

  CX^X̒Aǂݍ݈ʒu͍ŏ̍s̑Oɂ܂Bŏ̍s
ǂݍނ߂ɁA܂ CsvReader#Read() \bhĂяo܂B
CsvReader#Read() \bh͎̍sǂݍރ\bhŁAǂݍ݂ɐ
ꍇ true Asꍇ false Ԃ܂B

------------------------------------------------------------------------
csvReader.Read();
------------------------------------------------------------------------

  s̓ǂݍ݂ɐƁACfNT (܂ CsvReader#Item vpeB
) ŗ̃f[^擾邱Ƃł܂B

------------------------------------------------------------------------
string data = csvReader[0];
------------------------------------------------------------------------

  [vōŌ܂œǂݍނƂ肪ȏ́Â悤ɂȂ܂B

------------------------------------------------------------------------
while (csvReader.Read())
{
    string v = csvReader[0];
    ...
}
------------------------------------------------------------------------

  gI CsvReader#Close() \bhĂяo܂ (RXgN
^̗QƂĂ) B


3.1.2 Tips
----------

  CsvReader#FieldCount vpeBŁA݂̍sɊ܂܂̐擾
Ƃł܂Bsǂݍ܂ĂȂƂɎQƂ
InvalidOperationException OX[܂B

------------------------------------------------------------------------
for (int i = 0; i < csvReader.FieldCount; i++) {
    string data = csvReader[i];
    ...
}
------------------------------------------------------------------------

  CsvReader#RowIndex vpeBŁA݂̍s̈ʒu\CfbNXԍ
擾邱Ƃł܂Bŏ̍s 0 łBCX^X̍ŏ
s̑OɂԂ -1 łB

------------------------------------------------------------------------
Console.WriteLine("{0} sڂłB", csvReader.RowIndex);
------------------------------------------------------------------------

  CsvReader#Close() \bh́ARXgN^Ŏw肵 TextReader C
X^X܂B
  CsvReader#IsClosed vpeB CsvReader CX^XĂ
ǂ擾邱Ƃł܂B

------------------------------------------------------------------------
if (csvReader.IsClosed)
{
    ...
}
------------------------------------------------------------------------


3.2 CsvWriter
-------------

  CSV `̃f[^ނɂ CsvWriter NXgp܂B


3.2.1 {IȎg
--------------------

  ܂ACX^X܂BRXgN^ 2 ނ܂A{
Iɂ CsvWriter(TextWriter) RXgN^ĂяoΗǂłBs
A؂蕶w肷ꍇ CsvWriter(TextWriter, string, string)
RXgN^ĂяoĂB

------------------------------------------------------------------------
CsvWriter csvWriter = new CsvWriter(writer);
try
{
    ...
}
finally
{
    csvWriter.Close();
}
------------------------------------------------------------------------

  CsvWriter NX IDisposable C^[tFCXĂ܂B
ŁAL̗͎̂悤ɒu邱Ƃł܂B

------------------------------------------------------------------------
using (CsvWriter csvWriter = new CsvWriter(writer))
{
    ...
}
------------------------------------------------------------------------

  f[^o͂ɂ CsvWriter#Write() \bhĂяo܂B

------------------------------------------------------------------------
csvWriter.Write("foo");
------------------------------------------------------------------------

  sɂ CsvWriter#WriteNewLine() \bhĂяo܂B

------------------------------------------------------------------------
csvWriter.WriteNewLine()
------------------------------------------------------------------------

  gI CsvWriter#Close() \bhĂяo܂ (RXgN
^̗QƂĂ) B


3.2.2 Tips
----------

  CsvWriter#RowIndex vpeB݂͌̍s̈ʒuACsvWriter#ColumnIndex v
peB݂̗͌̈ʒu\CfbNXԍ\CfbNXԍ
邱Ƃł܂Bŏ̍sA 0 łBCfbNX͍s 0 A
 -1 łB
  CsvWriter#IsClosed vpeB CsvWriter CX^XĂ
ǂ擾邱Ƃł܂B

------------------------------------------------------------------------
if (csvWriter.IsClosed)
{
    ...
}
------------------------------------------------------------------------


3.2.3 Tips - CsvWriter#Write() \bh
---------------------------------------

  CsvWriter#Write() \bh͐ނ̃I[o[[h܂B
  CsvWriter#Write(string) \bh͒P̃f[^o͂܂B

------------------------------------------------------------------------
csvWriter.Write("foo");
------------------------------------------------------------------------

  CsvWriter#Write(string[]) \bh͕̃f[^𕡐ɏo͂܂B
Ōɉs͓܂B

------------------------------------------------------------------------
csvWriter.Write(new string[]{"foo", "bar", "boo"});
// output:
// foo,bar,boo
------------------------------------------------------------------------

  CsvWriter#Write(string[][]) \bh́AAs̃f[^o͂
܂BKVs̐擪o͂AŌ̍s͉s܂B

------------------------------------------------------------------------
string[][] data = new string[][]{
    string[]{"foo", "bar", "boo"},
    string[]{"111", "222", "333"},
};
csvWriter.Write(data);
// output:
// foo,bar,boo
// 111,222,333
------------------------------------------------------------------------

  CsvWriter#Write(IDataReader) \bh́Af[^\[X̌
o͂܂BSĂ̗ASĂ̍sxɏo͂܂Bo͂͐VsŊJ
nAŌ͕Ks܂B

------------------------------------------------------------------------
OdbcConnection conn = new OdbcConnection("DSN=csv-io-net");
try
{
    conn.Open();
    
    OdbcCommand command = conn.CreateCommand();
    command.CommandText = "SELECT * FROM ZIPCODE";
    OdbcDataReader dataReader = command.ExecuteReader();
    try
    {
        using (CsvWriter csvWriter = new CsvWriter(writer))
        {
            csvWriter.Write(dataReader);
        }
    }
    finally
    {
        dataReader.Close();
    }
}
finally
{
    conn.Close();
}
------------------------------------------------------------------------

  ʂ̗̓Aw肵so͂ꍇ
CsvWriter#Write(IDataReader, string[], int) \bhĂяo܂B

------------------------------------------------------------------------
csvWriter.Write(dataReader, new string[]{"ID", "NAME"}, 10);
// ID, NAME  10 so͂܂B
------------------------------------------------------------------------


4 CZX
------------

  C BSD CZXKp܂Bڍׂ̓pbP[WɓĂ
LICENSE.txt QƂĂB


5 
------

    - System.DataOԂ̃C^[tFCXACSVɑ΂SQL
      gpđ삵Ă݂(ł܂łƂyĂ
      ?)B


6 ̑
--------

  s񍐁AT|[gvApb`Av]Ȃǂ SourceForge.jp: gbL
O<http://sourceforge.jp/tracker/?group_id=1910>ɓo^ĂB
ƂƂȂ烁[<mailto:uguu@users.sourceforge.jp>ł󂯕t
B
========================================================================
Copyright (C) 2005 uguu, All rights reserved.
