2012-02-04 35 views
5

Estoy tratando de aprender a usar LINQTOExcel para consultar un archivo CSV. Siguiendo el tutorial en el sitio Adapté su ejemplo para trabajar con mis datos (nombre del archivo se pasa a ella a través de un componente OpenDialog):C# - LINQToExcel - Valores Nulos

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); 
} 

Tengo una clase separada TestData/modelo que se parece a esto:

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; } 
} 

Pero cuando reviso, todos los valores de cada elemento son 'nulos'. ¿Me estoy perdiendo un paso en algún lado?

Ejemplo de datos CSV:

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 

Respuesta

0

El archivo CSV necesita una fila de cabecera que corresponden con los nombres de propiedades:

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

Muchas gracias. Supuse que simplemente los compararía con los números de columna: | – backdesk