다운로드 한 DemoExcel.xls 파일을 클릭하면 다음과 같이 데이터로 열립니다. 사용자 지정 ActionResult 클래스 (DownloadFileActionResult)에서 구현의 대부분을 캡슐화하려고 노력했으므로 GridView 개체의 형태로 데이터를 전달하고 표로 된 데이터로 다운로드 가능한 Excel 파일을 기대할 수 있습니다. 이제 데이터를 표시하기 위해 보기를 추가해야 합니다. 따라서 데이터를 Excel 파일로 내보내는 데 사용할 단추를 사용하여 인덱스 보기를 추가합니다. 최근에 ASP.NET MVC 3 기반 보고 응용 프로그램을 빌드했습니다. 기능 중 하나는 그리드 / 테이블로 렌더링되는 보고서에 다운로드 가능한 Excel 파일을 제공하는 것이었습니다. 이를 위해 전체 모듈을 다시 만드는 대신 가능한 최소한의 코드로 뷰를 렌더링하는 데 사용되는 데이터를 재사용할 수 있는 방법을 찾고 싶었습니다. 그것은 당신을 위해 “수출 엑셀 데모”Asp.Net MVC 응용 프로그램을 만들 것입니다. 그래서, 우리는 데이터베이스에서 데이터를 얻을 거 야. 일부 엔터티 클래스 및 데이터베이스 액세스 클래스를 추가합니다. 새 모델 클래스를 추가하려면 모델 폴더를 마우스 오른쪽 버튼으로 클릭한 다음 클래스 추가를 선택한 다음 클래스를 선택하면 클래스 이름을 제공할 수 있는 대화 상자 창이 표시됩니다. MVC 뷰 데이터를 Excel 파일로 내보내려면 ClosedXml 라이브러리를 사용하고 있습니다. 응용 프로그램에 이 것을 추가하려면 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 NuGet 관리자를 선택합니다.

여기 다음과 같이 검색 하 고 설치를 클릭 해야 합니다. 응용 프로그램에 대한 Excel 생성 기능이 필요한 경우 다음 매개 변수를 사용하여 모델 폴더에서 ExcelViewModel로 클래스를 만들 ZetExcel.com 수 있습니다. 위에서 설명한 대로 대부분의 구현은 DownloadFileActionResult 클래스에 포함되어 있습니다. 이 문서에서는 ASP.NET MVC를 사용하여 Excel 파일에서 데이터를 내보내는 방법을 배웁니다. 이 HTML은 Excel 시트로 렌더링되기 때문에 대부분의 Excel 기능을 사용할 수 없습니다. 내 경우에는 클라이언트가 데이터의 다운로드 가능한 버전이었기 때문에 괜찮았습니다. 그러나 진정한 Excel 파일을 만들려면 XSLT를 사용하여 HTML 출력을 Excel 파일로 변환 할 수 있습니다. 여기에서 데이터베이스에서 들어오는 모든 데이터를 볼 수 있습니다. “Excel로 내보내기”버튼을 클릭합니다. 그것은 엑셀 파일로 데이터를 내보내드립니다.

먼저 DownloadFileActionResult 추상 ActionResult 클래스에서 상속, 생성자는 데이터 바운드 gridview 개체와 다운로드 가능한 Excel 파일의 이름을 두 개의 매개 변수를 허용 합니다. ExecuteResult 는 응답을 만드는 사용자 지정 구현으로 재정의된 다음 HtmlTextWriter 및 StringWriter를 사용하여 그리드뷰의 렌더링을 문자열에 파이프합니다. 그런 다음 이 문자열을 응답으로 다시 스트리밍하여 Excel 파일로 전달합니다. 그 간단한 그것은 나타나지 않습니다 는 Microsoft.Office.Interop.Excel.Workbook 인터페이스 (msdn) 메모리 스트림에 통합 문서를 변환 할 수 있습니다. 언젠가웹 응용 프로그램에서 Excel 파일로 데이터를 내보내야합니다.