본문 바로가기

C/C++

html로 excel 파일 만들때 <br>을 한 셀에 넣기 (멀티라인)

html로 excel 파일 만들때 <br>을 한 셀에 넣기


report와 같은 출력물을 만들때 Excel 파일을 사용하기도 한다.
C/C++과 같은 프로그래밍을 할때 <html>과 같은 웹 포맷으로 만들고 Excel파일에 붙여넣기 하면 간단히 Excel 파일을 만들 수 있다.
즉, border, font, table 등의 모든 포맷을 Excel이 해석하고, 그 결과물을 worksheet에 저장한다.

일단, 기초적인 방법은 뒤로하고,,
보통 Excel에서 하나의 셀에 멀티라인을 작성할때, 텍스트를 적고 Alt+Enter를 입력하면 다음 라인을 작성한다.
(word wrap를 어렵게 설명했다 ;;)
그런데 이게 단순히 <br>태그로는 같은 셀이 아닌 다음 라인의 셀로 넘어간다.

해결책은 다음과 같이 간단하다.
<style> 태그안에 아래의 코드를 적어주면 된다.

br {mso-data-placement:same-cell;}


혹은

해당 부분에다가 직접 작성을 하던가.

<table width="100%" border="0" cellspacing="0" cellpadding="2">

 <tr>

   <td>123<br style="mso-data-placement:same-cell;">

<br style="mso-data-placement:same-cell;">123</td>

   <td>123<br style="mso-data-placement:same-cell;">

      <br style="mso-data-placement:same-cell;">

   123</td>

 </tr>

</table>



추가적으로 덧붙이자면, 
아래와 같은 방법으로 wordwrap를 막을 수도 있다.
1. <style>의 white-space:noWrap 
2. <td noWrap> ...



<출처>