POI Cell 의 wrap 설정 (텍스트 개행)

황제낙엽 2011.05.09 13:08 조회 수 : 2965

sitelink1  
sitelink2  
sitelink3  
extra_vars4  
extra_vars5  
extra_vars6  

wrap의 설정

셀로 설정된 값이 셀의 폭에 들어가지 않는 경우에 어떻게 표시하는지를 정의합니다.

warp 설정을 하려면 CellStyle 인터페이스로 준비되어 있는 setWrapText메소드를 사용합니다.

setWrapText
void setWrapText(boolean wrapped)

 

Set whether the text should be wrapped. Setting this flag to true make all content

visible whithin a cell by displaying it on multiple lines 

Parameters:
  wrapped - wrap text or not

 

true(을)로 지정하면 셀내에서 자동적으로 즉시 복수의 행에 엔터값이 표시됩니다.

실제 사용법은 다음과 같습니다.

Workbook wb = new HSSFWorkbook();
DataFormat format = wb.createDataFormat();

CellStyle  style = wb.createCellStyle();
style.setWrapText(true);

 

 

샘플 프로그램

실제로 시험해 봅시다.

Sample10_1.java

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import java.io.*;

public class Sample10_1{
  public static void main(String[] args){
    Workbook wb = new HSSFWorkbook();
    Sheet sheet = wb.createSheet();

    Row[] row = new Row[2];
    Cell[] cell = new Cell[2];

    for (int i = 0 ; i < 2 ; i++){
      row[i] = sheet.createRow(i + 1);
      cell[i] = row[i].createCell(2);
      cell[i].setCellValue("Thank you very much.");
    }

    CellStyle style0 = wb.createCellStyle();
    style0.setWrapText(true);
    cell[0].setCellStyle(style0);

    CellStyle style1 = wb.createCellStyle();
    style1.setWrapText(false);
    cell[1].setCellStyle(style1);

    FileOutputStream out = null;
    try{
      out = new FileOutputStream("sample10_1.xls");
      wb.write(out);
    }catch(IOException e){
      System.out.println(e.toString());
    }finally{
      try {
        out.close();
      }catch(IOException e){
        System.out.println(e.toString());
      }
    }
  }
}

 

각 셀에 대해서wrap의 스타일을 설정하고 있습니다. 그러면 작성된 Excel파일을 열어 보겠습니다.

 

uaa.jpg

 

 

wrap(을)를 true(으)로 설정했을 경우, 값이 셀에 다 들어가지 못할 때는, 자동적으로 개행을 하여 전체가 셀안에 표시됩니다.