.net С# excel column AutoFit

Я работаю с объектом excel в С#. Я хочу автоподстроить столбцы, но вот так: я хочу, чтобы ширина столбцов была на 5 больше, чем установлен метод AutoFit.

Как я могу получить ширину после использования AutoFit()?

Как я могу сделать столбцы 5 больше этой ширины?

Ответы

Ответ 1

Если вы хотите использовать объект "Выделение" и иметь IntelliSense с ранним связыванием, вам нужно сначала перенести объект "Выбор" в диапазон:

Excel.Range selectedRange = (Excel.Range)myExcelApp.Selection;    
selectedRange.Columns.AutoFit();

foreach (Excel.Range column in selectedRange.Columns)
{
    column.ColumnWidth = (double)column.ColumnWidth + 5;
}

- Майк

Ответ 2

Предполагая, что вы находитесь в ячейке A1 и имеете длинный текст, следующий код сделает столбец Autofit, а затем увеличит ширину на 5 символов.

Selection.Columns.Autofit
Selection.Columns(1).ColumnWidth = Selection.Columns(1).ColumnWidth + 5

Ответ 3

Попробуйте выполнить цикл в своих строках, чтобы получить длину текста:

var row = 1;
ws.Column(1).AutoFit(ws.Cells[row, 1].Text.Length + 5);

Где ws - ваш Рабочий лист:

var pck = new ExcelPackage();
var ws = pck.Workbook.Worksheets.Add("Plan1")

Ответ 4

Попробуйте,

ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");

//Load the datatable into the sheet, starting from cell A1. Print the column names on row 1
ws.Cells["A1"].LoadFromDataTable(data_table, true);

//Set full Sheet Auto Fit
ws.Cells[1, 1, data_table.Rows.Count, data_table.Columns.Count].AutoFitColumns();