2012-12-23 5 views
0

나는 다음과 같은보기가 : -.csv 파일로 모델 객체를 추출하는 방법

@model IEnumerable<MvcApplication4.Models.customers> 

@{ 
    ViewBag.Title = "customer"; 
} 

<h3>Avialble cusotmer</h3> 
<table id ="avilalbe"> 
    <tr> 
     <th> 
      @Html.CheckBox("ORG_NAME ", true) NAME 
     </th> 
<th> 
      @Html.CheckBox("description ", true) Description 
     </th> 
    </tr> 

@foreach (var item in Model) { 
    <tr> 


     <td> 
      @Html.DisplayFor(modelItem => item.customer_NAME) 
     </td> 
<td> 
      @Html.DisplayFor(modelItem => item.description) 
     </td> 

    </tr> 
} 

    <a href=""> Extract To Excel </a> 

은 어떻게 하나 (체크 박스에서 사용자의 선택에 따라 .CSV로 모델 데이터를 추출 할 수 있습니다 & 설명 열 또는 둘 중 하나만 포함해야합니다.

+0

그래서 무엇이 문제입니까? 서버 측에서 확인란 값을 얻는 방법을 모르거나 .csv 파일을 만드는 방법을 모릅니다. –

+0

서버에 확인란이 없어도 확인란을 기반으로 .csv 파일을 만드는 방법을 모르십니까? thnaks –

답변

0

질문을 이해한다면 단순히 값과 이름을 구문 분석하기 위해 개체 덤퍼를 사용하지만 솔직히 말해서 위의 질문에서 원하는 것을 정확히 말할 수는 없습니다.

Objectdumper은 여기에 있습니다 : http://blogs.msdn.com/b/ericwhite/archive/2008/08/14/object-dumper-an-invaluable-tool-for-writing-code-in-the-functional-programming-style.aspx

+0

나는 두 개의 열이있는 테이블을 가지고 있고 사용자 선택에 따라 .csv 파일로 테이블 데이터를 추출해야합니다. 예를 들어 사용자가 두 개의 확인란을 선택하여 전체 테이블 열을 추출하도록 선택한 경우, 모든 설명 레코드를 .csv 파일로만 추출하도록 설명 확인란을 선택한 상태로 유지합니다. –

+0

즉석에서 CSV를 만들고 스트리밍하려는 경우 다음을 참조하십시오. http://stackoverflow.com/questions/6775248/export-to-csv-from-mvc-controller-and-view-displays-csv -raw-data-on-page –

0

이 방법 (이 같은) 그런 다음

private static string GetCsvString(IEnumerable<Customer> customers, string separator, params string[] fields) 
{ 
    var csvString = new StringBuilder(); 
    var propertyInfos = typeof (Customer).GetProperties().Where(p => fields.Contains(p.Name)).ToList(); 
    foreach (var customer in customers) 
    { 
     var currentCustomer = customer; 
     csvString.AppendLine(string.Join(separator, propertyInfos.Select(p => p.GetValue(currentCustomer, null).ToString()))); 
    } 

    return csvString.ToString(); 
} 

사용 만듭니다

var csvString = GetCsvString(yourSetOfCustomers, ";", "name", "description"); 
File.WriteAllText("yourPath.csv", csvString); 

을 그리고 당신은 단지 설명을해야하는 경우 ' 전화 번호 :

GetCsvString(yourSetOfCustomers, ";", "description"); 

내 의견에 대한 답변에 따라 필요한 필드를 식별하는 방법을 알고 있다고 생각합니다. 당신은 그 아이디어가 있기를 바랍니다.

+0

답장을 보내 주셔서 감사합니다.하지만 .csv 파일을 즉시 만들려고하므로 yourPath.csv가 참조해야하는 것을 exaplin 할 수 있습니까? 이미 exsiting 파일이 없습니다. thnaks –

+0

이 코드는 yourPath.csv에 새 파일을 만듭니다. –

+0

ps : downvoters? pls 설명 –

관련 문제