No Excel, a largura de uma célula é na verdade a largura de uma coluna, porque o Excel assume que a largura das células dessa coluna deve ser a mesma. Para definir a largura de uma célula, temos que começar com a largura da coluna, o HSSFSheet tem um método chamado SetColumnWidth, existem dois parâmetros: um é o índice da coluna (começando de 0) e o outro é a largura. Agora, suponha que você queira definir a largura da coluna B, pode usar o seguinte código:
Aqui você encontrará um fenômeno interessante: o segundo parâmetro do SetColumnWidth é multiplicado por 256, o que está acontecendo? De fato, a unidade desse parâmetro é 1/256 de largura de caracteres, ou seja, a largura da coluna B é definida para 100 caracteres. O que acabamos de dizer é como definir, então como ler a largura de uma coluna? Usando diretamente o método GetColumnWidth, esse método possui apenas um parâmetro, que é o número de índice da coluna. Fica assim:
Depois de falar sobre largura, vamos falar sobre altura, no Excel, a altura de cada linha também precisa ser a mesma, então definir a altura da célula, na verdade, é definir a altura da linha, então o atributo relevante também deve estar em HSSFRow, que é HSSFRow. Height e HeightInPoints, a diferença entre esses dois atributos é que a unidade de HeightInPoints são pontos, e a unidade de Height é 1/20 de ponto, Então o valor de Altura é sempre 20 vezes o HeightInPoints. Para definir a altura da primeira linha, você pode usar o seguinte código:
ou
Se você quiser obter a altura da linha de uma determinada linha, pode pegar diretamente o valor de retorno da propriedade HSSFRow.Height.
Se você achar difícil definir a altura da linha uma linha por vez ou a largura da coluna para uma coluna, pode considerar usar as propriedades HSSFSheet.DefaultColumnWidth, HSSFSheet.DefaultRowHeight e HSSFSheet.DefaultRowHeightInPoints. Uma vez definidas essas propriedades, se uma linha ou coluna não tiver largura definida, a largura ou altura padrão é usada. O código é o seguinte:
|