엑셀파일 생성시에..자동줄바꿈 옵션 해제
본문
안녕하세요.
php에서 엑셀파일을 생성(다운)할때 한셀에 글이 많으면,
와 같이 자동줄바꿈으로 생성이 됩니다.
하지만 이렇게 생성이 되기를 원하지 않고, 아래처럼
와 같이 셀의 '자동줄바꿈'옵션이 해제가 되어서 한정된 셀의 공간안에서 글이 한줄로 출력이 되기를 원합니다.
인터넷에서 자동줄바꿈옵션 등에 관해서 검색을 해 보았지만, 거의 <br> 이나 alt-enter 등을 삭제하는 style css 등에 관련된 내용등이 있긴한데, 위 문제는 줄바꿈 문자나 기호등이 포함되지 않은 엑셀의 셀의 자동줄바꿈 옵션에 의해서 만들어진 줄바꿈입니다.
위와 같이 엑셀의 '자동줄바꿈' 옵션을 해제하면 한줄로 나오는 줄바꿈 문자가 포함되지 않은 글입니다.
자동줄바꿈이 되어 있는 상태에서는
와 같이 생성이 되는데, 저는 아래와 같이 생성이 되기를 원합니다.
알맞은 옵션이나, 경험이 있으신분이 있으시면, 방법을 부탁드립니다.
좋은 밤 되세요~
답변 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')
A1과 같은 서식을 원하시는 것이 맞는지요?
사용 중이신 라이브러리에도 wraptext 속성에 관한 기능이 분명히 있을 것 같습니다 ^^
그럼 편안한 저녁 되시고, 문제를 잘 해결하시기를 기원합니다!
!-->어떤 라이브러리를 쓰는진 모르겠지만.. 일단 테이블 기준으로 설명한다면 inline style width가 있는지 확인하시고
white-space 도 확인해보세요
문서를 생성하거나 내려 받을시 replace 문을 사용해서 .. \n 값을 공백으로 처리해보시기 바랍니다.