Как указать ширину столбцов в excel в java

xlsx4j — Как установить ширину столбца в электронной таблице?

Я пытаюсь экспортировать JTable в файл XLSX, используя xlsx4j, но у меня проблемы с настройкой ширины столбцов. Мне удалось установить ширину по умолчанию для всех столбцов, но я хотел бы установить ширину столбцов, чтобы они автоматически соответствовали длине данных:

Приведенный выше код показан в консоли: lstCols.size() равен 0, поэтому, похоже, что после добавления строк и ячеек в SheetData нет определений столбцов.

С другой стороны, если я создаю столбцы вручную таким образом:

Я получаю катастрофическую ошибку в файле XLSX.

1 ответ

Из спецификации ECMA-376 (я посмотрел на 3ed, раздел 18.3.1.17, p1774):

Этот пример показывает, что к столбцу 4 (D) применено "наилучшее соответствие", что также является произвольной шириной. Кроме того, столбец 5 (E) указан как имеющий настраиваемую ширину и стиль, применяемый на уровне столбца (в отличие от уровня ячейки).

так что, похоже, вам просто нужно завершить определение объекта col, указав номер col (через атрибуты min/max).

дает столбец, который начинается с нулевой ширины, поэтому вы должны указать @width.

@bestFit, кажется, не делает то, что вы ожидаете (вы хотите что-то более похожее на autoFit?).

API JAVA + POI Excel — нужно увеличить ширину столбца

Я хочу увеличить ширину столбца листа excel. поскольку я пишу корыто код длинный.
и мне нужно перетащить столбец вручную, чтобы увидеть полный текст.

Но это ничего не меняет..

Это должно сработать. Однако

автоматически расширяет столбец 1000000.

Если вы хотите автоматически развернуть столбец 0 (первый столбец), используйте:

Чтобы автоматически развернуть столбец от 0 до 9 (первые 10 столбцов):

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

Ссылка на основную публикацию