DELPHI EXCEL ШИРИНА СТОЛБЦА ПО СОДЕРЖИМОМУ
При работе с Excel в Delphi часто возникает задача динамической установки ширины столбцов в зависимости от содержимого ячеек. Для этого можно использовать объект Excel-приложения и методы AutoFit
и ColumnWidth
.
Метод AutoFit
подбирает оптимальную ширину столбца по содержимому:
ExcelApp.ActiveSheet.Columns.Item['A:A'].AutoFit;
Если же нужно установить ширину столбца вручную, исходя из его максимальной ширины ячейки, можно воспользоваться следующим кодом:
const CellPadding = 10; // запас, чтобы содержимое не обрезалосьvar i, maxWidth: Integer; s: string;begin maxWidth := 0; for i := 1 to ExcelApp.ActiveSheet.UsedRange.Rows.Count do begin s := ExcelApp.ActiveSheet.Cells.Item[i, 1].Value; if Length(s) * Canvas.TextWidth('W') + CellPadding > maxWidth then maxWidth := Length(s) * Canvas.TextWidth('W') + CellPadding; end; ExcelApp.ActiveSheet.Columns.Item['A:A'].ColumnWidth := maxWidth;
В данном случае проходится по всем используемым строкам и находится максимальная ширина ячейки в первом столбце. Она учитывает ширину запаса и символа 'W', поскольку это примерная ширина одного символа.
20 приемов и трюков MS Excel для начинающих
Как в экселе задать размер ячейки
Деление текста по столбцам в Excel
АВТОПОДБОР ВЫСОТЫ СТРОКИ И ШИРИНЫ СТОЛБЦА В EXCEL
Как выровнять столбцы и строки
Автоматическое изменение ширины столбца в Excel
5 Трюков Excel, о которых ты еще не знаешь!
Выравниваем высоту строк и ширину столбцов в Excel
Как задать автоподбор ширины и автоподбор высоты строк и столбцов
Автоподбор ширины столбца (высоты строки) в Excel