2012-02-04 8 views
5

Próbuję dowiedzieć się, jak używać LINQTOExcel do kwerendy na plik CSV. Po tutorial na miejscu ja ich przykładem przystosowane do pracy z moimi danymi (nazwa pliku jest przekazywana do niego za pomocą komponentu openDialog):C# - LINQToExcel - Wartości zerowe

var csv = new ExcelQueryFactory(filename); 
var test = from c in csv.Worksheet<TestData>() 
      select c; 

foreach(var t in test) 
{ 
    Console.WriteLine(t.Contract_Id); 
} 

Mam oddzielne klasy testdata/model, który wygląda tak:

class TestData 
{ 
    public string Transaction_Id { get; set; } 

    public string Value_Date { get; set; } 

    public string Transmit_Date { get; set; } 

    public string Transmit_Time { get; set; } 

    public string Contract_Id { get; set; } 

    public string Contract_Amount { get; set; } 

    public string Contract_Rage { get; set; } 

    public string TestAmount { get; set; } 

    public string Employer_Code { get; set; } 

    public string Test_Acceptor { get; set; } 

    public string Institution_Id { get; set; } 
} 

Jednak po przejściu w pętli wszystkie wartości dla każdej pozycji są "zerowe". Czy gdzieś brakuje mi kroku?

Przykład CSV danych:

transaction_id,value_date,transmit_date,transmit_time,contract_no,contract_amount,instalment,test_amount,employer_code,test_acceptor,institution_id 
35454521,20111230,20120102,2:23:12,1442,1714.56,1,285.76,0,643650,a 

Odpowiedz

0

Plik CSV potrzebuje wiersz nagłówka, który pasuje do nazwy własności:

Transaction_Id,Value_Date,Transmit_Date,Transmit_Time,Contract_Id,Contract_Amount,Contract_RageTestAmount,Employer_Code,Test_Acceptor,Institution_Id 
35454521,20111230,20120102,2:23:12,1442,1714.56,1,285.76,0,643650 
+0

Dzięki tak dużo. Przyjąłem, że po prostu dopasuje je do numerów kolumn: | – backdesk

Powiązane problemy