2012-08-19 2 views
7

Excel 시트의 열 너비를 높이고 싶습니다. 나는 쓰레기 코드를 쓰고 있기 때문에 길다. 전체 텍스트를 보려면 열을 수동으로 드래그해야합니다.JAVA + POI API Excel- 열의 너비를 늘려야합니다.

HSSFRow dataRow = sampleDataSheet.createRow(0); 

HSSFCellStyle cellStyle = setHeaderStyle(sampleWorkbook); 

cellStyle.setWrapText(true); 

***sampleDataSheet.autoSizeColumn(1000000);*** 

그러나 그 변화하지 아무것도 ..

답변

14

이 작동합니다 -

나는 이런 짓을. 당신이 열 0 (첫 번째 열) 자동 확장하려는 경우,

sampleDataSheet.autoSizeColumn(1000000); 

가 사용 열 1000000

에게 자동 확장 :

sampleDataSheet.autoSizeColumn(0); 

하려면에 열 0을 자동 확장 9 (첫 번째 열 10 개) :

또한 모든 행을 작성하고 내용을 먼저 ou는 autoSizeColumn을 호출합니다 (따라서 열은 가장 넓은 너비의 값 너비를 가져옵니다).

(당신이 고정 된 값으로 열 너비를 설정하려면, HSSFSheet.setColumnWidth (INT, INT 사용) 대신.) sheet.autoSizeColumn (columnNumber)이 작동

+0

안녕하세요 -이 정적 HSSFSheet처럼하고 있습니다. sampleDataSheet = sampleWorkbook.createSheet ("ABC"); sampleDataSheet.setColumnWidth (20,20); 하지만 API에서 setColumnWidth 메디 오드를 얻지 못하고 있습니다 .. pls .. – smriti

+0

sampleDataSheet.autoSizeColumn (0); 제 1 열 덕분에 soo에 대한 저를 위해 일했습니다. + 1 그러나 cud u pls는 제 sampleDataSheet.setColumnWidth (20,20)를 제안합니다. 쿼리 ... – smriti

12
// We can set column width for each cell in the sheet   
sheet.setColumnWidth(0, 1000); 
sheet.setColumnWidth(1, 7500); 
sheet.setColumnWidth(2, 7500); 

// By applying style for cells we can see the total text in the cell for specified width 
HSSFCellStyle cellStyle = workBook.createCellStyle(); 
cell.setCellStyle(cellStyle); 
cellStyle.setWrapText(true); 
-1

. 그러면 열의 크기가 가장 큰 셀의 크기로 조정됩니다.

+1

헤더의 너비는 다른 열의 셀 내용이 아니라고 간주합니다. – Naveen

+0

@Naveen 이것은 틀린 -'autoSizeColumn'는 모든 행 내용에 맞게 열 너비를 조정해야합니다. –

관련 문제