hur man skapar en CSV-fil i C #

Arbeta med data är en av de primära uppgifterna i planeringen med alla språk . Ofta måste du lagra ett programs data i ett format som enkelt kan läsas av andra program också . En av de vanligaste sättet att göra detta är genom att skriva in data i en semikolonavgränsad fil (CSV) . En CSV -fil följer ett enkelt format : varje område av data är skild från de andra genom ett komma , och varje post finns på en egen rad

Du behöver : .
Visual C # ( 2005 eller större , Express Edition kommer att räcka ) .

1 .
i Visual C # , skapar klassen som representerar de data du kommer att lagra . Detta exempel använder en riktigt enkel klass som representerar en person , med förnamn , efternamn och födelsedag :

public class Person {

privat sträng firstName ;

privat sträng lastName ;

privat DateTime årsdag;

public String FirstName {

få {return firstName ; }

mängden { firstName=värde ; }

}

public String Efternamn {

få {return lastName ; }

mängden { lastName=värde ; }

}

offentliga DateTime födelsedag {

få {return -årsdag; }

mängden { födelsedag=värde ; }

}

}
2 .
Lägg till ett ” ToCSV ”-metoden efter födelsedagen egendom deklarationen . Detta kommer att underlätta översättning från dataobjektet till CSV posten .

public String ToCSV () {

återvända firstName + ” , ” + lastName + ” , ” + birthDay. ToShortString () ;

}
3
Lägg till ett ” FromCSV ”-metoden efter ToCSV metoden . Detta gör att du kan fylla en person objekt från en CSV- sträng .

public void FromCSV ( sträng csv ) {

//Om csv är null eller tomma , gör inte någonting .

om ( String. IsNullOrEmpty ( csv )) {

återvända ,

}

string [ ] delar=csv. split ( ny char [ ] {”,”});

this. firstName=delar [ 0 ] ;

detta . lastName=delar [ 1 ] ,

this. birthDay=DateTime. Parse ( delar [ 2 ] ) .

}
4

Lägg en statisk metod för att skapa CSV-filen . Eftersom en CSV -fil innehåller flera poster , skapa denna för att arbeta med en samling ( ilist ) av Person -objekt. ( Observera att du behöver lägga till System. IO namnområde till din hjälp avsnitt , Visual Studio kommer förmodligen att lägga det åt dig , eller åtminstone låta dig lösa den via högerklicksmenyn ) .

public void CreateCSVFile ( ilist människor , sträng filename) {

hjälp ( StreamWriter sw=new StreamWriter (filnamn )) {

foreach ( Person p i människor ) {

sw. WriteLine ( p. ToCSV ());

}

}

}
5 .
Lägg till en annan statisk metod , ” ReadCSVFile ” efter CreateCSVFile metoden . Detta kommer att göra raka motsatsen som den tidigare metoden-det kommer att ta en CSV -fil vägen och bygga en samling ( ilist ) av objekt av personer från den.

public static ilist ReadCSVFile ( sträng filnamn) {

hjälp ( StreamReader sr=new StreamReader (filnamn )) {

Lista rader=new List () ;

sträng curLine=sr. ReadLine () ;

medan ( curLine=! null ) {

lines. Add ( curLine ) ,

curLine=sr. ReadLine () ;

}

Lista res=new List () ;

foreach ( sträng linje i rader ) {

Person p=new Person () ;

p. FromCSV ( linje ) ;

res. Add ( p ) ;

}

återvända res ,

}

}

tips och varningar

  • att hålla exemplen kort , var en massa felkontroll utelämnats ; du vill kontrollera att saker existerar innan du börjar arbeta med dem ( t. ex. filnamnet skickas till Läs /Skapa metoder måste vara en giltig sträng och filen du försöker läsa måste finnas ) .
  • Visited 1 times, 1 visit(s) today

    コメント

    タイトルとURLをコピーしました