0

私は次の見解を持っています:-

@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に抽出するにはどうすればよいですか(名前と説明の列の両方を含めるか、それらの1つだけを含めるか)。

4

2 に答える 2

0

質問を理解している場合は、オブジェクト ダンパーを使用して値と名前を解析するだけですが、正直なところ、上記の質問から何を求めているかを 100% 正確に伝えることはできませんでした。

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

于 2012-12-23T10:22:40.820 に答える
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");

必要なフィールドを特定する方法を知っていると思います(私のコメントへの回答に基づいて)。あなたがアイデアを得たことを願っています。

于 2012-12-23T11:11:51.713 に答える