В Excel ширина ячейки на самом деле равна ширине столбца, потому что Excel предполагает, что ширина ячеек в этом столбце должна быть одинаковой. Чтобы задать ширину ячейки, нужно начать с ширины столбца, у HSSFSheet есть метод SetColumnWidth, есть два параметра: один — индекс столбца (начиная с 0), другой — ширина. Теперь предположим, что вы хотите установить ширину столбца B, вы можете использовать следующий код:
Здесь вы найдёте интересное явление: второй параметр SetColumnWidth умножается на 256, что происходит? Фактически, единица этого параметра составляет ширину символа 1/256, то есть ширина столбца B установлена на 100 символов. То, что мы только что сказали, — это как правильно задавать ширину столбца? Используя метод GetColumnWidth напрямую, этот метод имеет только один параметр — индекс столбца. Выглядит это так:
После обсуждения ширины давайте поговорим о высоте: в Excel высота каждой линии тоже должна быть одинаковой, поэтому установка высоты ячейки фактически означает установку высоты строки, так что соответствующий атрибут также должен находиться в HSSFRow, это HSSFRow.Height и HeightInPoints, разница между этими двумя атрибутами в том, что единица HeightInPoints — это точки, а единица Height — 1/20 точки, Значит, значение Height всегда в 20 раз больше HeightInPoints. Чтобы установить высоту первой строки, можно использовать следующий код:
или
Если вы хотите получить высоту строки определённой линии, можно напрямую взять возвращаемое значение свойства HSSFRow.Height.
Если вам сложно установить высоту строки по одной строке или ширину столбца для столбца, можно рассмотреть использование свойств HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight и HSSFSheet.DefaultRowHeightInPoints. После установки этих свойств, если у строки или столбца нет ширины, используется стандартная ширина или высота. Код таков:
|