Member 14330973 Ответов: 1

Скачать в формате excel из MVC view


У меня есть сгенерированное представление для определенного типа поиска ( название агентства Abc Enterprise), имеющее следующие сведения и веб-сетку(в соответствии с поиском)

Name of the Institute: ABC ENTERPRISE

Total No. of Feedback submitted: 5

Incountry Feedback: 5

Overseas Feedback: 0

Overall Score of the Institute: 3.3


Теперь я должен загрузить в excel вышеупомянутые детали вместе с названием программы, которую провело агентство( детали названия были сохранены в таблице)

Итак, как загрузить эту информацию в excel по клику в представлении.

Что я уже пробовал:

КОНТРОЛЛЕР MVC ДЛЯ ПОИСКА


[Authorize]
       [HttpGet]
       public ActionResult TrainingInstitute(String agenda_no = "")
       {
           DisplayLndRep dn = new DisplayLndRep();
           DbAccess da = new DbAccess();
           LndFeedbackReport.Models.LoginViewModel uinfo = new LndFeedbackReport.Models.LoginViewModel();
           uinfo = da.FindUserInfoAD(User.Identity.Name);
           dn.FullName = uinfo.FullName;
           dn.FeedbackDetailList5=new List<lnd_prgm>();
           dn.Cre_name = agenda_no;
           dn.FeedbackDetailList5 = da.FindInstiStdCount(agenda_no);
           dn.app_count = dn.FeedbackDetailList5.Count;
           if(dn.app_count>0)
           {
            dn.ListArcGrid = new List<ReportLndFeedback>();
            dn.FeedbackDetailList4 = da.FindInstiPgmTypCount(agenda_no);
            dn.pg1_count = dn.FeedbackDetailList4.Count();
            dn.pg2_count = dn.app_count - dn.pg1_count;
            dn.score = da.FindTotalScore(agenda_no);
            dn.instiname = agenda_no.ToUpper();
            if(dn.score != null)
            {
                ViewBag.Total = (float)dn.score.Sum(x => x.pgm_avg);
            }
            dn.marks = ViewBag.Total/dn.score.Count();
                dn.PageSize = 10;

           }

           else
           {
               TempData["notice"] = "There is no such record for Training Institute." + agenda_no;
               return RedirectToAction("ReportModule", "Home");
           }

           return View(dn);
       }





Просмотр кода

@model LndFeedbackReport.ViewModels.DisplayLndRep
@{
    ViewBag.Title = "Reports";
}
@*<br /><br />*@
@*<div class="pull-right">
        <a class="btn btn-info" href="@Url.Action("MainForm", "Home")">Back</a>  
        <a class="btn btn-info" href="@Url.Content("~/Account/LogOff/")">LogOff</a>
    </div>*@
@*<br /><br /><br />*@
<div class="row">
    <div class="panel panel-success" style="padding-top: 0px;">
        <div class="panel-heading">
            <span style="color:blue">Welcome</span>   <span style="color:black">User : </span><span style="color:red">@Model.FullName</span>      <span style="color:black">Salary Code : </span><span style="color:red">@Model.EmployeeId</span>      <span style="color:black">Designation : </span><span style="color:red">@Model.Designation</span>      <span style="color:black">Department : </span><span style="color:red"> @Model.DepartmentName </span>

        </div>
    </div>
</div>
<h3>Report Layout</h3>
<div class="row col-md-12">
    <div class="panel panel-body panel-danger">
        <br>Name of the Institute:<span style="color:blue;font-weight:bold"> @Model.instiname</span><br />
        <br>Total No. of Feedback submitted:<span style="color:blue;font-weight:bold"> @Model.app_count</span><br />
        <br>Incountry Feedback:<span style="color:blue;font-weight:bold"> @Model.pg1_count</span><br />
        <br>Overseas Feedback:<span style="color:blue;font-weight:bold"> @Model.pg2_count</span><br />
        <br>Overall Score of the Institute:<span style="color:blue;font-weight:bold"> @Model.marks</span><br />
        @*<br>Total No. of applications evaluated:<span style="color:blue;font-weight:bold"> @Model.evaluated_reports</span><br />
            <br>Total No. of applications not evaluated:<span style="color:blue;font-weight:bold"> @Model.not_evaluated_reports</span><br />*@
    </div>
</div>
<div class="wrap">
    <div class="content">
        @Html.AntiForgeryToken()
        <div class="inner-content" style="border:none">
            <span class="text-primary" style="color:crimson; font-size:larger">List of Feedback Submitted</span>
            <span>                                                                                                                                                                                                   <a class="btn btn-info" title="Report Module" href="@Url.Action("ReportModule", "Home")">Report Module</a></span>

        </div>
    </div>
</div>
<br />
@{
    WebGrid grid = new WebGrid(null, rowsPerPage: @Model.PageSize, canPage: true);
    grid.Bind(Model.FeedbackDetailList4, autoSortAndPage: true, rowCount: @Model.PageSize);
    grid.Pager(WebGridPagerModes.NextPrevious);
}
<div>
    @grid.GetHtml(tableStyle: "table table-bordered table-striped", headerStyle: "bg-success", selectedRowStyle: "bg-warning", footerStyle: "bg-warning",
    mode: WebGridPagerModes.All,
    firstText: "<< First",
    previousText: "< Prev",
    nextText: "Next >",
    lastText: "Last >>",
        columns: grid.Columns(
            //grid.Column("MIN_ID", "Id"),
            //grid.Column("MIN_DATE", "Date"),
       grid.Column("prgm_id", "Feedback ID", format: @<text><div style="text-align: center"><a title="View" href="@Url.Action("ShowProgramDetails", "Home", new { ac = item.prgm_id })">@item.prgm_id</a></div></text>),
                           grid.Column("prgm_type", "Feedback Type"),
                           grid.Column("Create_by", "Submitted By"),
                           grid.Column("from_date", "From Date", format: (item) => (item.from_date == null) ? "" : string.Format("{0:dd-MM-yyyy}", item.from_date)),
                           grid.Column("till_date", "Till Date", format: (item) => (item.till_date == null) ? "" : string.Format("{0:dd-MM-yyyy}", item.till_date)),
                           grid.Column("pgm_avg", "Score"),
                           grid.Column("fdk_remarks", "Remarks")
                           //grid.Column("agency_name", "Training Agency/Institute"),
                           //grid.Column("venue", "Venue      (City/State/Country)"),
                        @*grid.Column(header: "VIEW", format: @<text><a class="btn btn-default" title="View" href="@Url.Action("ShowProgramDetails", "Home", new { ac = item.prgm_id})"><img src="@Url.Content("~/Content/Images/View1.png")" width="20" height="20" alt="View" /></a></text>)*@

                ))
</div>
<div class="wrap">
    <div class="content">
        
        @Html.AntiForgeryToken()
        <div class="inner-content" style="border:none" align="left">
            @using (Ajax.BeginForm("DownloadTrainRep", "Home",new AjaxOptions { HttpMethod = "Post", UpdateTargetId = "result" }))
            {
                <span><button type="submit" class="btn btn-info">Download</button></span>
            }

        </div>
    </div>
</div>

F-ES Sitecore

Гугл "asp.net создайте и загрузите файл excel", есть много способов сделать это, это часто задаваемый вопрос.

Member 14330973

можете ли вы предоставить мне некоторые ссылки, которые обеспечивает представление в MVC двиг АСП.

F-ES Sitecore

Google "mvc создание и загрузка файла excel"

Member 14330973

Мой взгляд основан на поиске. Он не перечисляет все данные в таблице. если определенный поиск ,например тип совпадает, он отображает эту запись в webgrid.... так как загрузить их в excel из webgrid

1 Ответов

Рейтинг:
2

Gerry Schmitz

Скачать как CSV, открыть в Excel:

ABC ENTERPRISE, 5, 5, 0, 3.3

и т.д.


Member 14330973

Мой взгляд основан на поиске. Он не перечисляет все данные в таблице. если определенный поиск ,например тип совпадает, он отображает эту запись в webgrid.... так как загрузить их в excel из webgrid