[poi] word DB 개행문자 addCarriageReturn 적용하기

poi 프로젝트 진행 중

 

화면 textarea에서 저장한 개행 문자 char(13)을 poi에서 적용시키기 위해 검색한 결과를 바탕으로

내 입맛에 맞게 변환했다.

 

문자열에 캐리지 리턴이 포함되면

전부 다 스플릿을 해서 문자 배열에 넣고 한 줄 기입하고 캐리지 리턴을 하는 형식으로 만들었다.

 

아래 replaceAll 메서드는 사용하지 않아도 된다. 

		// CPSR 개행 및 쌍따옴표 변환
		@SuppressWarnings("unchecked")
		private XWPFRun convertCaReturnAndQuotation(String targetStr, XWPFRun run) throws Exception {
			
			String convertTmpStr =  targetStr.replaceAll(""", "\"");
			
			if (convertTmpStr.contains("\n")) {
		           String[] stringsOnNewLines = convertTmpStr.split("\n");
		           
		           for (int i = 0; i < stringsOnNewLines.length; i++) {
		             String textForLine = stringsOnNewLines[i];
	            	 run.setText(textForLine);
	            	 run.addCarriageReturn();
		           }
		           
			}
			else {
				run.setText(convertTmpStr);
			}
			
			return run;
		}

 

+@ 

poi에서 테이블을 생성하고 머징한 셀 안쪽에서는 CarriageReturn이 먹히질 않는 문제점이 생겼었다.

 

이 경우 run.addBreak();를 통해 해결했다.

addBreak는 페이지를 넘기는 역할로만 알고 있었는데

ex) run.addBreak(BreakType.PAGE);

 

addBreak()에 인자 값을 넘겨주지 않을 경우 shift + enter와 같이 개행이 되는 것으로 확인 됐다.

 

https://stackoverflow.com/questions/14830667/insert-a-line-break-inside-a-paragraph-in-xwpfdocument

 

Insert a line break inside a paragraph in XWPFDocument

I am writing values into a word template using apache poi 3.8. I replace specific strings in a word file (keys) with required values, e.g. word document has a paragraph containing key %Entry1%, and I

stackoverflow.com

 


 

2021.09.13 - [poi] - [poi] word addbreak로 적용한 단락 글 깨짐 정렬

 

[poi] word addbreak로 적용한 단락 글 깨짐 정렬

2021.07.06 - [poi] - [poi] word DB 개행문자 addCarriageReturn 적용하기 [poi] word DB 개행문자 addCarriageReturn 적용하기 poi 프로젝트 진행 중 화면 textarea에서 저장한 개행 문자 char(13)을 poi에서 적..

badstorage.tistory.com