.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();