엑셀파일 생성시에..자동줄바꿈 옵션 해제

엑셀파일 생성시에..자동줄바꿈 옵션 해제

QA

엑셀파일 생성시에..자동줄바꿈 옵션 해제

본문

안녕하세요. 

php에서 엑셀파일을 생성(다운)할때 한셀에 글이 많으면, 

1930874873_1652627099.2259.png와 같이 자동줄바꿈으로 생성이 됩니다.

하지만 이렇게 생성이 되기를 원하지 않고,  아래처럼

1930874873_1652627053.7945.png  와 같이 셀의 '자동줄바꿈'옵션이 해제가 되어서 한정된 셀의 공간안에서 글이 한줄로 출력이 되기를 원합니다. 

 

인터넷에서 자동줄바꿈옵션 등에 관해서 검색을 해 보았지만, 거의 <br> 이나 alt-enter 등을 삭제하는 style css 등에 관련된 내용등이 있긴한데, 위 문제는 줄바꿈 문자나 기호등이 포함되지 않은 엑셀의 셀의 자동줄바꿈 옵션에 의해서 만들어진 줄바꿈입니다. 

 

1930874873_1652627431.6432.png

 

위와 같이 엑셀의 '자동줄바꿈' 옵션을 해제하면 한줄로 나오는 줄바꿈 문자가 포함되지 않은 글입니다. 

 

자동줄바꿈이 되어 있는 상태에서는 

1930874873_1652627827.1129.png

와 같이 생성이 되는데, 저는 아래와 같이 생성이 되기를 원합니다. 

1930874873_1652627866.1817.png

알맞은 옵션이나, 경험이 있으신분이 있으시면,  방법을 부탁드립니다. 

좋은 밤 되세요~

이 질문에 댓글 쓰기 :

답변 3

안녕하세요? ^^

말씀하신 기능은 영문 엑셀에서 Format cells - Alignment - Wrap text에서 설정 가능하고,

VBA의 WrapText 속성에 해당합니다.

https://excelchamps.com/vba/wrap-text/

 

사용하시는 라이브러리가 어떤 것인지 모르겠지만

제가 주로 사용하는 Openpyxl을 이용하여 구현하면 다음과 같습니다 ^^


import openpyxl
from openpyxl.styles import Alignment
 
wb = openpyxl.Workbook()
ws = wb['Sheet']
ws['A1'], ws['A2'] = ['그누보드는 사랑입니다.'] * 2
ws['A1'].alignment = Alignment(wrap_text=False)
ws['A2'].alignment = Alignment(wrap_text=True)
wb.save('alignment_test.xlsx')

 

990718968_1652696326.5694.png

 

A1과 같은 서식을 원하시는 것이 맞는지요?

사용 중이신 라이브러리에도 wraptext 속성에 관한 기능이 분명히 있을 것 같습니다 ^^

그럼 편안한 저녁 되시고, 문제를 잘 해결하시기를 기원합니다!

채택해주셔서 감사합니다 ^^
만약 PHPExcel을 사용하신다면 아래 URL과 같은 방법으로 적용하실 수 있습니다 :)
https://stackoverflow.com/questions/11299663/phpexcel-and-text-wrapping
좋은 오후 되세요~!

어떤 라이브러리를 쓰는진 모르겠지만.. 일단 테이블 기준으로 설명한다면 inline style width가 있는지 확인하시고

white-space 도 확인해보세요 

문서를 생성하거나 내려 받을시 replace 문을 사용해서 ..  \n 값을 공백으로 처리해보시기 바랍니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 17,722 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT