RealGrid2 가이드
엑셀 내보내기 🆕
엑셀 내보내기

excel export

현재 그리드에 표시된 컬럼 구조대로 데이터셋을 엑셀 파일로 변환해서 로컬파일로 저장하거나 서버로 업로드합니다.

※ export 기능을 사용하기 위해서는 jszip 라이브러리가 필요합니다.

<script src="/scripts/jszip.min.js"></script>

Excel 내보내기

exportGrid()함수로 지정한 설정에 따라 현재 그리드의 모양과 데이터를 외부 문서로 내보냅니다.

해당 영역을 문서에 포함할 것인 지를 지정합니다.

  • default - 현재 그리드에 표시된 상태 그대로 출력 합니다.
  • visible - 무조건 해당 영역을 포함시켜 출력 합니다.
  • hidden - 무조건 포함시키지 않습니다. GridExportOptions API문서에서 화면에 표시되는 그리드를 엑셀 등의 외부 문서로 내보내기할 때 지정하는 설정 모델을 확인할 수 있습니다.
  var excelType = Boolean(document.querySelector('input[name="excelType"]:checked').value);
  var showProgress = document.getElementById("chkShowProgress").checked;
  var indicator = document.querySelector('input[name="indicator"]:checked').value;
  var header = document.querySelector('input[name="header"]:checked').value;
  var footer = document.querySelector('input[name="footer"]:checked').value;
 
  gridView.exportGrid({
      type: "excel",
      target: "local",
      fileName: "gridExportSample.xlsx", 
      showProgress: showProgress,
      progressMessage: "엑셀 Export중입니다.",
      indicator: indicator,
      header: header,
      footer: footer,
      compatibility: excelType,
      done: function () {  //내보내기 완료 후 실행되는 함수
          alert("done excel export")
      }
  });

원격 Excel 내보내기

엑셀 데이터를 서버로 전송하여 서버에서 내려받길 원하는 경우 target: "remote", url: "서버처리주소"를 지정하면 됩니다. JAVA MVC Project 샘플 파일은 아래 링크에서 다운로드 하실 수 있습니다.

Remote Export 샘플 (opens in a new tab)

//Client
gridView.exportGrid({
  type: "excel",
  target: "remote",
  url: "/remote/ExcelXBin",
  fileName: "gridExportSample.xlsx"
});
package com.realgrid.remote;
 
import java.io.OutputStream;
import java.util.Base64;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
public class ExcelXBin {
	@RequestMapping(value="/ExcelXBin", method=RequestMethod.POST)
	public void excelXBin(HttpServletRequest request, HttpServletResponse response) throws Exception {
		// Receive
		String fileName = request.getParameter("fileName");
		String data = request.getParameter("data");
		
		if (data.length() > 0) {
			// Decode
			byte[] filedata = Base64.getDecoder().decode(data);
			
			// Response Header
			response.addHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
			response.addHeader("Content-Type","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
			response.addHeader("Pragma", "no-cache");
			
			// Write
			OutputStream os = response.getOutputStream();
			os.write(filedata);
			os.flush();
		}
	}
 
}