2014-11-07 4 views
2

Я пытаюсь создать файл excell с apache. (HSSFWorkbook)Как установить размер ячейки

I can not выяснить вне как установка колонка ширина размер.

Посмотрите на следующий пример:

enter image description here

В первой колонке (А) имеет значение: «номер строки», которые мы не можем видеть всю строку. Столбцы (D) и (E) имеют ту же проблему, но если мы дважды щелкнем по ней, мы увидим полную строку.

Я хочу создать ячейки, которые пользователю не нужно будет дважды щелкнуть по нему. Как я могу это сделать?

ответ

4

Вы можете использовать autoSizecolumn(), который установит размер столбца на основе его заголовка.

sheet.autoSizeColumn(0)// to adjust first column 

См. Это link. Было бы полезно ...

Чтобы установить все доступные столбцы, используйте for петлю

for(int colNum = 0; colNum<row.getLastCellNum();colNum++) 
    workbook.getSheetAt(0).autoSizeColumn(colNum); 
+0

Моя ошибка, это работает. Я попробовал autiSizeColumn, прежде чем я поместил данные. Я просто переместил эту команду в конец кода, и она работает – user3668129

+0

Спасибо !!!, счастлив, что это работает. – vembutech

1

Попробуйте использовать метод setColumnWidth() на объекте HSSFSheet

sheet.setColumnWidth(0, 1000); 

Это требует больше кода, чем при использовании autoSizeColumn(), но я обнаружил, что autoSizeColumn() можно пренебречь при открытии полученного файла в более новых версиях Excel (2013).

0

От the documentation:

Sheet sheet = workbook.getSheetAt(0); 
sheet.autoSizeColumn(0); //adjust width of the first column 
sheet.autoSizeColumn(1); //adjust width of the second column 
1

Autofit также будет работать

(от файл справки)
Этот пример изменяет ширину столбцов A-I на Sheet1 для достижения наилучшего соответствия.

Worksheets("Sheet1").Columns("A:I").AutoFit 

Этот пример изменяет ширину столбцов А-Е на Лист1 для достижения наилучшего соответствия, основываясь только на содержимом ячейки A1: E1.

Worksheets("Sheet1").Range("A1:E1").Columns.AutoFit 
+0

Не уверен, какой язык есть, но я уверен, что это не Java или не использует библиотеку Apache POI, о которой спрашивает OP – Gagravarr