MVC 에서 엑셀 출력

Posted by RAY.D
2015. 4. 28. 09:38 Web/ASP.NET MVC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.




MVC 에서 엑셀 출력 (MVC 4)


내가 한 방식



view에서

------------------------------------------------------------------------------------------

<li>@using (Html.BeginForm("ExportExcel""Controller"         , new { parameter1= ""             , parameter2= ""             , parameter3= ""         }         , FormMethod.Post         , new { ID = "frmExport"}         ))     {         <button ~~~~></button>     } </li>


$('#frmExport').submit(function()
    {
        var url = "@Url.Action("ExportExcel""WeekComposition")";
 
        var CHL_ID = $("#selChl_id").val();
        var startDate= $('#hselStartDateInCalendar').val();
        var endDate= $('#hselEndDateInCalendar').val();
        var saveType = $("#selWCompSaveType").val();
 
        $('#frmExport').prop('action', url + "?CHL_ID=" + CHL_ID
                                      + "&startDate=" + startDate
                                      + "&endDate=" + endDate
                                      + "&saveType=" + saveType
        );
        return true;
    });

------------------------------------------------------------------------------------------




controller 에서


public ActionResult ExportExcel(string parameter1, string parameter2, string parameter3)  {     byte[] buffer = null;     try     {         StringBuilder str = new StringBuilder();         str.Append("<html>");


// HTML 테이블 생성

        str.Append("<table>");

       str.Append("<tr>");

        str.Append("<td></td>");         str.Append("</tr>");        //..~~~~

        str.Append("</table>");         str.Append("</html>");                  HttpContext.Response.AddHeader("content-disposition""attachment; filename=" + ".xls");         HttpContext.Response.ContentType = "application/vnd.ms-excel";         buffer = System.Text.Encoding.UTF8.GetBytes(str.ToString());     }     catch(Exception e)     {     }     return File(buffer, "application/vnd.ms-excel");

}