java.io.IOException: Cannot write data, document seems to have been closed already 에러

2021. 5. 7. 10:49·개발중/Troubleshooting
728x90
반응형

액셀 로딩바를 해결했는데

이건 또 뭐람

https://soobindeveloper8.tistory.com/390

위에서처럼 제대로 할 일을 해주는데 에러는 왜 뜨는 것일까


java.io.IOException: Cannot write data, document seems to have been closed already

데이터를 쓸 수 없습니다. 문서가 이미 닫혀 있는 것 같습니다.


블로그 삽질

검색어 : getOutputStream Cannot write data, document seems to have been closed already

 

아래에서 해결 !

입출력 닫는 다양한 예제

 

아래 처럼 바꾸고 성공 !

@Override
protected void buildExcelDocument( Map<String, Object> model, Workbook workbook, HttpServletRequest request, HttpServletResponse response)   {

	createExcel(workbook, model); 
    
	response.setContentType("ms-vnd/excel");
	response.setHeader("Content-Disposition", "attachment;filename=example.xlsx");
	
	try {
		
		ServletOutputStream out = response.getOutputStream();
		workbook.write(out);
		out.flush();
		
	} catch (IOException e) {
		e.printStackTrace();
	}  
}

 

원래는 한 줄로 끝내려 들었는데

workbook.write(response.getOutputStream());

 

getOutputStream 을 깊숙히 들어가보니까 

  1. ServletOutputStream 그릇에 responce 의 getOutputStream 을 담고
  2. workbook 에 쓰고
  3. ServletOutputStream 그릇을 다썼으니까 씻어서 정리한다는 의미로 닫아줘야 한다.

내 순서는 너무 뒤죽박죽이었다.


변경전

더보기
workbook.write(response.getOutputStream());
workbook.close();

변경후

더보기
ServletOutputStream out = response.getOutputStream();
workbook.write(out);
out.flush();

 

728x90
반응형
저작자표시 (새창열림)

'개발중 > Troubleshooting' 카테고리의 다른 글

Git 대소문자 변경 Commit 🌊  (0) 2021.05.09
Visual Studio 'M' 표시 없애기  (0) 2021.05.09
Bean null 에러  (0) 2021.04.28
org.springframework.context.ApplicationContextException: Unable to start web server; 에러 해결  (0) 2021.04.28
JAVA MYSQL 연동 중 SSL 에러  (0) 2021.04.23
'개발중/Troubleshooting' 카테고리의 다른 글
  • Git 대소문자 변경 Commit 🌊
  • Visual Studio 'M' 표시 없애기
  • Bean null 에러
  • org.springframework.context.ApplicationContextException: Unable to start web server; 에러 해결
Binsoo
Binsoo
내 트러블 슈팅
  • Binsoo
    정수빈 기술블로그임.
    Binsoo
  • 전체
    오늘
    어제
    • 빈수 개발자 개발 일기 (938)
      • 개발중 (635)
        • Spring Boot (95)
        • Spring Security (2)
        • Spring Batch (6)
        • Spring Boot & Redis (13)
        • Java Persistence API (JPA) (28)
        • Web (42)
        • Rest Api (7)
        • Spring Concurrency Control (3)
        • Redis (8)
        • Kubernetes (k8s) (4)
        • MYSQL (35)
        • AirFlow (15)
        • Docker (2)
        • Git (22)
        • Linux (9)
        • JSON Web Tokens (JWT) (4)
        • Troubleshooting (88)
        • Swagger (0)
        • Vue.js (52)
        • Java (74)
        • html (12)
        • C (5)
        • jQuery (15)
        • JavaServer Pages (JSP) (17)
        • Arduino (1)
        • JavaScript (35)
        • Amazon Web Services (AWS) (11)
        • Algorithm (9)
        • 참고 기능 (18)
        • mongo (2)
      • PROJECT (27)
        • 스프링부트+JPA+몽고 API 개발 (3)
        • MINI (2)
        • 게시판 (3)
        • vue 프로젝트 (1)
        • JPA 사이드 프로젝트 기록 (17)
      • TEAM STUDY (156)
        • 가상 면접 사례로 배우는 대규모 시스템 설계 기초 (8)
        • 한 권으로 읽는 컴퓨터 구조와 프로그래밍 (12)
        • NAVER DEVELOPER (4)
        • LINUX (23)
        • PYTHON (19)
        • SERVER (8)
        • 알고리즘 코딩 테스트 스터디 (31)
        • 쿠버네티스 (40)
        • 대세는 쿠버네티스 [초급~중급] (11)
      • BOOK (0)
      • 자격증 (61)
        • 리눅스 1급 - 필기 기록 (19)
        • 네트워크 관리사 (2)
        • 네트워크 관리사 2급 - 실기 기록 (21)
        • 네트워크 관리사 2급 - 필기 기록 (16)
        • 정보처리 (2)
      • 직장인 대학원 (17)
        • 기록 (1)
        • 캐글 스터디 (3)
        • R (12)
      • 논문 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Spring
    jpa
    리눅스 마스터 요약
    리눅스 1급 요약
    네트워크 관리사 자격증
    springboot
    리눅스 마스터 1급 요약
    파이썬 알고리즘
    네트워크 관리사 실기
    java
    네트워크 관리사 학점
    리눅스 마스터
    네트워크 관리사
    BackendDevelopment
    알고리즘
    파이썬
    docker
    쿠버네티스
    REST API
    쿠버네티스 스터디
    네트워크 관리사 2급
    네트워크 관리사 2급 실기
    Git 저장소
    git
    리눅스 마스터 1급
    redis
    네트워크 관리사 요약
    스프링
    VUE
    리눅스 마스터 1급 정리
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Binsoo
java.io.IOException: Cannot write data, document seems to have been closed already 에러
상단으로

티스토리툴바