엑셀에서는 셀의 너비가 실제로 열의 너비와 같아지는데, 엑셀은 이 열의 셀 너비가 같아야 한다고 가정하기 때문입니다. 셀의 너비를 설정하려면 열의 너비부터 시작해야 합니다. HSSFSheet에는 SetColumnWidth라는 메서드가 있습니다. 매개변수는 두 가지입니다: 하나는 열의 인덱스(0부터 시작)이고, 다른 하나는 너비입니다. 이제 열(열) 너비를 설정하고 싶다면, 다음 코드를 사용할 수 있습니다:
여기서 흥미로운 현상을 발견할 수 있습니다. SetColumnWidth의 두 번째 매개변수에 256을 곱한 것입니다. 무슨 일이 일어나고 있나요? 실제로 이 매개변수의 단위는 1/256 문자 너비이며, 즉 열 B의 너비는 100자로 설정되어 있습니다. 방금 말한 것은 열의 너비를 어떻게 설정하느냐는 것이고, 그럼 열의 너비를 어떻게 읽는지에 관한 것입니다. GetColumnWidth 메서드를 직접 사용하면 이 메서드는 열의 인덱스 번호라는 하나의 매개변수만 가집니다. 이런 모습입니다:
너비에 대해 이야기한 후 높이에 대해 이야기해 보겠습니다. 엑셀에서는 각 줄의 높이도 동일해야 하므로, 셀의 높이를 설정하는 것은 행의 높이를 설정하는 것과 같습니다. 따라서 관련 속성도 HSSFRow에 있어야 하며, HSSFRow입니다. Height와 HeightInPoints, 이 두 속성의 차이는 HeightInPoints의 단위가 점이고, 높이의 단위는 점의 1/20이라는 점입니다. 그래서 Height 값은 항상 HeightInPoints의 20배입니다. 첫 줄의 높이를 설정하려면 다음 코드를 사용할 수 있습니다:
또는
특정 선의 행 높이를 얻고 싶다면, HSSFRow.height 속성의 반환 값을 직접 가져갈 수 있습니다.
한 행씩 높이를 설정하거나 열의 열의 너비를 설정하는 것이 어렵다면, HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight, HSSFSheet.DefaultRowHeightInPoints 속성을 고려해 보세요. 이 속성들이 설정되면, 행이나 열에 너비가 설정되어 있지 않으면 기본 너비 또는 높이가 사용됩니다. 코드는 다음과 같습니다:
|